Lazy loading and scrollable table with Wicket 7 - wicket

While migrating a Wicket 1.4 based web application which uses the DojoLazyLoadingListContainer from org.wicketstuff.dojo to newer Wicket 7 we identified major problems.
The migration of the lazy loading table itselfs seems not to be a feasible solution and we are looking for another table providing our functional requirements:
Infinite scrollable with lazy loading via the standard Wicket data provider concept.
No pageable table style like Wicket standard
Full AJAX support while replacing the loaded table for example in a
tabbed view panel or in multiple wizard steps.
Open source or commercial license for one web server and development
systems
We are looking for a Wicket data table implementation which is
available for current Wicket version (e.g., 7.2.0) and has a
future-proof on-going development.
Thanks for any help or hint in advance!
Kind regards,
Marc

Check https://github.com/wicketstuff/core/tree/master/datatables-parent.
It provides an integration with DataTables.net.
It has a demo of infinite scroll table at https://github.com/wicketstuff/core/tree/master/datatables-parent/datatables-examples/src/main/java/org/wicketstuff/datatables/demo/infiniteScroll.
Please use WicketStuff issues for bug reports!

You may also use the DataTable with infinite scroll from the Wicket Jquery/Kendo UI project. It works with both wicket 6 and 7.
www.7thweb.net/wicket-jquery-ui/kendo/datatable/InfiniteDataTablePage

Thanks for the link, I think it's a promising approach.
But I opend the InfiniteScrollDemoPage via a link and got this exception:
java.lang.UnsupportedOperationException: Called operation not supported for TokenBuffer
at com.fasterxml.jackson.databind.util.TokenBuffer._reportUnsupportedOperation(TokenBuffer.java:1031)
at com.fasterxml.jackson.databind.util.TokenBuffer.writeRawValue(TokenBuffer.java:694)
at de.agilecoders.wicket.jquery.util.serializer.ConfigSerializer.serialize(ConfigSerializer.java:18)
at de.agilecoders.wicket.jquery.util.serializer.ConfigSerializer.serialize(ConfigSerializer.java:15)
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeFields(MapSerializer.java:467)
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:388)
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:27)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:114)
at com.fasterxml.jackson.databind.ObjectMapper.writeValue(ObjectMapper.java:1837)
at com.fasterxml.jackson.databind.ObjectMapper.valueToTree(ObjectMapper.java:1965)
at de.agilecoders.wicket.jquery.util.Json.toJson(Json.java:73)
at de.agilecoders.wicket.jquery.util.Json.stringify(Json.java:140)
at de.agilecoders.wicket.jquery.AbstractConfig.toJsonString(AbstractConfig.java:35)
at de.agilecoders.wicket.jquery.function.ConfigurableFunction.<init>(ConfigurableFunction.java:38)
at de.agilecoders.wicket.jquery.JQuery.chain(JQuery.java:350)
at org.wicketstuff.datatables.DataTables.renderHead(DataTables.java:72)
at org.wicketstuff.datatables.demo.infiniteScroll.InfiniteScrollDemoPage$2.renderHead(InfiniteScrollDemoPage.java:75)

Related

application with sapui5 and openui5

Actually we have developed on application with sapui5 for our customer but the problem is that some new customer dont want to go through License agrement with sapui5. So the solution we have found to make our application with openui5.
My question is that
"Is there any possibility to make application with both of them and at the time of installation making a decision either going and make resources of sapui5 or openui5"?
Thank you
Nimi
As long as you understand that certain features will only be available in SAPUI5 you can load the version of sap-ui-core.js that comes with either in your bootstrap index.html page.
For example, if using CDN, for OpenUI5 link to https://openui5.hana.ondemand.com/resources/sap-ui-core.js and for SAPUI5 use https://sapui5.hana.ondemand.com/resources/sap-ui-core.js
See this link to read about differences between SAPUI5 and OpenUI5.
Also see this link for another discussion of the differences.
I know that this post (I'm linking to) is not so much updated but it will give you a good overview and history about SAPUI5/OpenUI5 and all the differences.
Anyway, SAPUI5 is a superset of OpenUI5 with some addictional control (like VizChart or FilterBar.
I think that in 90% of cases you can just go with OpenUI5 and use other opensource libraries / develop custom control if you need something that is missing.

Dynamic Chart using Xamarin Forms

I am newbie in Xamarin; I know there must be ready components for what I need, already I searched but not yet found.
I need to create a dynamic graphic like this:
http://www.highcharts.com/demo/dynamic-update
I wore this in PhoneGap (html5 + JS), but now I'm moving to Xamarin forms and would like to know if any third component is what I need or I'll have to do everything from scratch.
Thank you.
I'm currently looking into graphing too and OxyPlots seems to be a pretty good line graph tool. I don't think it supports dynamic updating so you'd have to program it to update manually when new data points come available.
I've not gotten round to actually using this myself but I thought I'd post this here in case it works for you.
Edit: Here's a list of examples. Also you can add it to your project using nuget so it should be easy to set up.
I'm using Syncfusion controls for Xamarin.Forms and I'm satisfied with it. They also have a free license for individual developers and small businesses.
For dynamically updated Xamarin charts SciChart offers an extremely high performance solution. With the SciChart Xamarin Chart control you can draw up to a million points, zoom, pan and scroll big datasets interactively.
Check out performance demos here:
https://www.scichart.com/example/xamarin-chart-realtime-fifo-scrolling-chart-example/
https://www.scichart.com/example/xamarin-chart-performance-demo-example/
https://www.scichart.com/example/xamarin-chart-ecg-monitor-demo-example/
Disclosure: I am the tech lead on the SciChart Xamarin project

How to achieve Two Way data binding in native GWT?

We have been using GWT for around 4 years now. One of the most often discussed features missing in native GWT is data binding. Reading across AngularJs another Google offering, i came across http://devgirl.org/2013/03/21/fun-with-angularjs/ . I do not wish to use GXT or any other third party tools. I also wish to avoid generator related solution.
Is there any way this will ever be implementable in pure native GWT?
Is there any specific reason why GWT cannot provide this out of the BOX?
Have you tried GWT Pectin?
I have used it successfully in a larger project some time ago.
I suggest you try HexaBinding, which is non invasive and only focused on data binding. Here is the link : https://github.com/ltearno/hexa.tools/blob/master/hexa.binding/README.md
It works with pure Java, GWT and will soon work also with Android and JavaFX. It may even work with J2Objc but not sure yet...
I read the post you mention on devgirl about AngularJS. In that post the "2 way data binding" refers to the property of the code to reflect automatically on the view the changes that occurs to the data that the view is currently displaying.
This is achieved in GWT since version 2.1 with the Cell Widgets
In the first paragraph of the Cell Widgets documentation I linked above it is clearly stated that:
A cell widget can accept data from any type of data source. The data
model handles asynchronous updates as well as push updates. When you
change the data, the view is automatically updated.
If you want to do in GWT something as basic as the example in the devGirl post you need to write a onKeyup handler (in AngularJS you should write a Scope to this purpose) that would copy what you entered to the linked label. Something like this:
...
final TextBox nameField = new TextBox();
final Label enteredName = new Label("");
...
public void onKeyUp(KeyUpEvent event) {
enteredName.setText(nameField.getText());
}
...

Tutorial on setting up GWT-Validation Framework for a simple app?

I'm looking to setup the GWT-Validation Framework (client side for now) in our application, but I'm not clear from the docs what pieces I need and what goes where?
We are using GWT 2.1 and MVP. I have the inherits entry for Validation in the gwt.xml, but what goes actually goes into the View, Activity, etc... I'm not aware of any tutorials available.
Any help would be appreciated!
Aftermath:
At the time when I was trying to use it, GWT 2.1 wasn't compatible with the GWT-Validation framework. After doing more reading I found this out. I don't know if that is still the case.
I assume you are referring to the validation framework in GWT and not the gwt-validation library? If that's the case, here is a page that describes how you can do bean validation: http://code.google.com/p/google-web-toolkit/wiki/BeanValidation. If you are actually referring to the gwt-validation library, here is a page that describes how to use it:
http://code.google.com/p/gwt-validation/wiki/ConceptOfOperations
Here is a link that gives some information about the GWT Validation Framework, GWT-Validator and the authors solution, the GWT-Validation library. It is a good synopsis of the issues and why he wrote the new library with some code snippets.
The GWT Validation Library.

GWT Table that supports sorting, scrolling and filtering

I have a project using GWT and it displays data in a table.
I need a Table for GWT that supports:
sorting by particular column
scrolling the data, while the header is immobile
filtering rows for data searched in the table
The project is being created for internal purpose of the company, so I look for a solution that does not require commercial licensing for such uses.
The standard CellTable supports sorting.
(Hopefully more features will come soon.)
Here is a table supporting sorting and filtering : http://code.google.com/p/gwt-advanced-table/
Google itself is working on it. Look at this example in the incubator which supports multi-column sorting and fixed header but unfortunately no filtering : http://code.google.com/p/google-web-toolkit-incubator/wiki/ScrollTable
Other grids and tables are available in the incubator at this address : http://code.google.com/docreader/#p=google-web-toolkit-incubator&s=google-web-toolkit-incubator&t=Tables
Ext GWT proposes a very nice table, but it is not free (in your case) : http://extjs.com/products/gxt/
There is also EXT GWT (not to be confused with GWT EXT), build entirely in Java. You may have the pay for the license though. I do not known if you have to pay if the application is of internal use.
The Grid widget will do exactly want you want.
The rest of their widgets are also quite impressive.
Just to keep this up to date:
CellTable now supports paging and single column sorting: https://developers.google.com/web-toolkit/doc/latest/DevGuideUiCellTable?hl=de
You may want to adapt yout backend request for filtering, as this is usually more performant.
GWT Ext provides a table that meets these requirements.
It provides a wrapper around the Ext javascript library, so its best to commit to using either only GWT Ext widgets, or GWT widgests. They can be combined, but sometimes don't play well with each other.