Javascript errors with TileGrid

Smart GWT Beta Release 2011-05-03 (DEMO) in Firefox and Chrome.

I’m trying to display an image in a TileGrid based off of the image id (integer) in a database.

The id should be used to retrieve the image from a webservice that is running.

If I leave this out the TileGrid works fine with the rest of the fields.

So :

DetailViewerField pictureField=new DetailViewerField("id");
pictureField.setType("image");
pictureField.setImageURLPrefix(GWT.getModuleBaseURL()+"imageservice?id=");

When run this just keeps popping up Javascript exceptions as follows.

Any ideas?

Uncaught exception escaped
com.google.gwt.core.client.JavaScriptException: (TypeError): Object #<Object> has no method ‘normalDisplayFormatter’
stack: TypeError: Object #<Object> has no method ‘normalDisplayFormatter’
at Object.isc_DetailViewer__formatDataType [as $17c] (http://127.0.0.1:8888/marabou/sc/modules/ISC_Grids.js:347:135)
at Object.isc_DetailViewer_getCellValue [as getCellValue] (http://127.0.0.1:8888/marabou/sc/modules/ISC_Grids.js:339:99)
at Object.isc_DetailViewer_output_value [as output_value] (http://127.0.0.1:8888/marabou/sc/modules/ISC_Grids.js:325:186)
at Object.isc_DetailViewer_outputItem [as outputItem] (http://127.0.0.1:8888/marabou/sc/modules/ISC_Grids.js:316:231)
at Object.isc_DetailViewer_getBlockHTML [as getBlockHTML] (http://127.0.0.1:8888/marabou/sc/modules/ISC_Grids.js:314:39)
at Object.isc_TileGrid_getTileHTML [as _getTileHTML] (http://127.0.0.1:8888/marabou/sc/modules/ISC_Grids.js:3480:83)
at [object Object].<anonymous> (unknown source)
at __gwt_jsInvoke (http://127.0.0.1:8888/marabou/hosted.html?marabou:76:35)
at eval at <anonymous> (http://127.0.0.1:8888/marabou/hosted.html?marabou:54:12)
at Object.<anonymous> (unknown source)
arguments: normalDisplayFormatter,[object Object]
type: undefined_method
__gwt_ObjectId: 255
at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:237)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:126)
at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:269)
at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
at com.google.gwt.core.client.impl.Impl.apply(Impl.java)
at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:214)
at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:157)
at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:281)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:531)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:352)
at java.lang.Thread.run(Unknown Source)

We see where the crash is, and it suggests something to do with a SimpleType definition and maybe date formatting. At a guess, a field of type “date” or “datetime” has an invalid SimpleType attached, or similar. If you can produce a runnable, minimal test case we can look further.

I actually came up with a work around. It would crash when the data field was of type integer - changing it to type string resolved it.

Unfortunately I haven’t been able to make a small sample illustrating it though.