1. SmartClient Version: v8.2p_2012-10-25/LGPL Development Only (built 2012-10-25)
2. FF 3.6.17
3. -
4. -
5.
6.
Attempt to click menu button produces js error as above.
If I use ListGrid in place of Menu then this code works as expected.
MichalG
2. FF 3.6.17
3. -
4. -
5.
Code:
00:03:16,521 [ERROR] 10:02:25.325:MUP9:WARN:Log:TypeError: this.newInstance is not a function unnamed() @ sc/modules/ISC_Grids.js:20 Menu._makeDynamicItemsFunction() @ sc/modules/ISC_Grids.js:3519 Menu._observeData({Obj}) @ sc/modules/ISC_Grids.js:3431 ListGrid.setData(_1=>{Obj}, undefined=>undef, undefined=>undef, undefined=>undef, undefined=>undef, undefined=>undef, undefined=>undef, undefined=>undef) @ sc/modules/ISC_Grids.js:1171 Class.invokeSuper(_1=>{Obj}, _2=>"setData", _3=>{Obj}, _4=>undef, _5=>undef, _6=>undef) @ sc/modules/ISC_Core.js:294 Menu.setData({Obj}) @ sc/modules/ISC_Grids.js:3480 Canvas.filterWithCriteria({Obj}, {Obj}, {Obj}) @ sc/modules/ISC_Core.js:3664 Canvas._filter("fetch", {Obj}, null, {Obj}) @ sc/modules/ISC_Core.js:3661 Class.invokeSuper(_1=>null, _2=>"$wo") @ sc/modules/ISC_Core.js:294 Class.Super(_1=>"$wo", _2=>[object Array], _3=>{Obj}) @ sc/modules/ISC_Core.js:286 ListGrid._filter("fetch", {Obj}, null, {Obj}) @ sc/modules/ISC_Grids.js:2312 Canvas.fetchData({Obj}, null, {Obj}) @ sc/modules/ISC_Core.js:3633 Canvas.doInitialFetch() @ sc/modules/ISC_Core.js:3648 Canvas.draw(undef, undef, undef, undef, undef, undef, undef, undef) @ sc/modules/ISC_Core.js:2130 Class.invokeSuper(_1=>{Obj}, _2=>"draw", _3=>undef, _4=>undef, _5=>undef, _6=>undef) @ sc/modules/ISC_Core.js:294 ListGrid.draw() @ sc/modules/ISC_Grids.js:1512 Menu._showOffscreen() @ sc/modules/ISC_Grids.js:3469 unnamed() @ sc/modules/ISC_Grids.js:3575 unnamed({Obj}, undef) @ sc/modules/ISC_Grids.js:3571 [c]EventHandler.bubbleEvent(_1=>{Obj}, _2=>"click") @ sc/modules/ISC_Core.js:1669 [c]EventHandler.handleClick(_1=>{Obj}) @ sc/modules/ISC_Core.js:1504 EventHandler._handleMouseUp([object MouseEvent], undef) @ sc/modules/ISC_Core.js:1490 [c]EventHandler.handleMouseUp(_1=>[object MouseEvent]) @ sc/modules/ISC_Core.js:1481 [c]EventHandler.dispatch(_1=>isc_c_EventHandler_handleMouseUp, _2=>[object MouseEvent]) @ sc/modules/ISC_Core.js:1732 anonymous([object MouseEvent]) @ sc/modules/ISC_Core.js:39 unnamed() @ com.smartgwt.client.core.JsObject$SGWT_WARN: 10:02:25.325:MUP9:WARN:Log:TypeError: this.newInstance is not a function unnamed() @ sc/modules/ISC_Grids.js:20 Menu._makeDynamicItemsFunction() @ sc/modules/ISC_Grids.js:3519 Menu._observeData({Obj}) @ sc/modules/ISC_Grids.js:3431 ListGrid.setData(_1=>{Obj}, undefined=>undef, undefined=>undef, undefined=>undef, undefined=>undef, undefined=>undef, undefined=>undef, undefined=>undef) @ sc/modules/ISC_Grids.js:1171 Class.invokeSuper(_1=>{Obj}, _2=>"setData", _3=>{Obj}, _4=>undef, _5=>undef, _6=>undef) @ sc/modules/ISC_Core.js:294 Menu.setData({Obj}) @ sc/modules/ISC_Grids.js:3480 Canvas.filterWithCriteria({Obj}, {Obj}, {Obj}) @ sc/modules/ISC_Core.js:3664 Canvas._filter("fetch", {Obj}, null, {Obj}) @ sc/modules/ISC_Core.js:3661 Class.invokeSuper(_1=>null, _2=>"$wo") @ sc/modules/ISC_Core.js:294 Class.Super(_1=>"$wo", _2=>[object Array], _3=>{Obj}) @ sc/modules/ISC_Core.js:286 ListGrid._filter("fetch", {Obj}, null, {Obj}) @ sc/modules/ISC_Grids.js:2312 Canvas.fetchData({Obj}, null, {Obj}) @ sc/modules/ISC_Core.js:3633 Canvas.doInitialFetch() @ sc/modules/ISC_Core.js:3648 Canvas.draw(undef, undef, undef, undef, undef, undef, undef, undef) @ sc/modules/ISC_Core.js:2130 Class.invokeSuper(_1=>{Obj}, _2=>"draw", _3=>undef, _4=>undef, _5=>undef, _6=>undef) @ sc/modules/ISC_Core.js:294 ListGrid.draw() @ sc/modules/ISC_Grids.js:1512 Menu._showOffscreen() @ sc/modules/ISC_Grids.js:3469 unnamed() @ sc/modules/ISC_Grids.js:3575 unnamed({Obj}, undef) @ sc/modules/ISC_Grids.js:3571 [c]EventHandler.bubbleEvent(_1=>{Obj}, _2=>"click") @ sc/modules/ISC_Core.js:1669 [c]EventHandler.handleClick(_1=>{Obj}) @ sc/modules/ISC_Core.js:1504 EventHandler._handleMouseUp([object MouseEvent], undef) @ sc/modules/ISC_Core.js:1490 [c]EventHandler.handleMouseUp(_1=>[object MouseEvent]) @ sc/modules/ISC_Core.js:1481 [c]EventHandler.dispatch(_1=>isc_c_EventHandler_handleMouseUp, _2=>[object MouseEvent]) @ sc/modules/ISC_Core.js:1732 anonymous([object MouseEvent]) @ sc/modules/ISC_Core.js:39 unnamed() @ at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:105) at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:167) 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(Thread.java:662)
Code:
package pl.com.tech4.client; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.core.client.GWT; import com.smartgwt.client.core.KeyIdentifier; import com.smartgwt.client.data.Criteria; import com.smartgwt.client.util.KeyCallback; import com.smartgwt.client.util.Page; import com.smartgwt.client.util.SC; import com.smartgwt.client.widgets.menu.IMenuButton; import com.smartgwt.client.widgets.menu.Menu; public class MainEntryPoint implements EntryPoint { FieldDS schemaDS; Criteria initialCriteria = new Criteria(); public void onModuleLoad() { if (!GWT.isScript()) { KeyIdentifier debugKey = new KeyIdentifier(); debugKey.setCtrlKey(true); debugKey.setKeyName("Y"); Page.registerKey(debugKey, new KeyCallback() { public void execute(String keyName) { SC.showConsole(); } }); } initialCriteria.addCriteria("name", "a"); schemaDS = new FieldDS(); layout(); } private void layout() { Menu fieldsMenu = new Menu(); fieldsMenu.setDataSource(schemaDS); fieldsMenu.setInitialCriteria(initialCriteria); fieldsMenu.setAutoFetchData(true); IMenuButton fieldsButton = new IMenuButton("Fields"); fieldsButton.setMenu(fieldsMenu); fieldsButton.draw(); } }
Code:
package pl.com.tech4.client; import com.smartgwt.client.data.DataSource; import com.smartgwt.client.data.fields.DataSourceIntegerField; import com.smartgwt.client.data.fields.DataSourceTextField; import com.smartgwt.client.types.DSDataFormat; public class FieldDS extends DataSource { public FieldDS() { setDataFormat(DSDataFormat.XML); setDataURL("schemaDS.xml"); setClientOnly(true); DataSourceIntegerField idField = new DataSourceIntegerField("ordinal"); idField.setPrimaryKey(true); DataSourceTextField nameField = new DataSourceTextField("name"); DataSourceTextField titleField = new DataSourceTextField("title"); setFields(idField, nameField, titleField); } }
Code:
<?xml version="1.0" encoding="UTF-8"?> <root> <panel> <ID>CompanyGroupDir</ID> <dataSource> <titleField>code</titleField> </dataSource> <valuesManager> <dynamicForm ordinal="0"> <numCols>4</numCols> </dynamicForm> </valuesManager> <field ordinal="0" useInSave="true"> <name>id</name> <title>ID</title> <type>sequence</type> <primaryKey>true</primaryKey> <canEdit>false</canEdit> <canFilter>false</canFilter> <hidden>true</hidden> </field> <field ordinal="1" useInSave="true"> <name>aclGroup</name> <title>ACL Group</title> <type>text</type> <canEdit>false</canEdit> <canFilter>false</canFilter> <hidden>true</hidden> </field> <field ordinal="2" useInSave="true"> <name>version</name> <title>Version</title> <type>integer</type> <canEdit>false</canEdit> <canFilter>false</canFilter> <hidden>true</hidden> </field> <field ordinal="3" useInSave="true"> <name>code</name> <title>Code</title> <type>text</type> <required>true</required> <length>20</length> <formField> <endRow>true</endRow> </formField> </field> <field ordinal="4" useInSave="true"> <name>description</name> <title>Description</title> <type>text</type> <length>60</length> <formField> <width>*</width> <colSpan>3</colSpan> </formField> </field> <field ordinal="5" useInSave="true"> <name>validFrom</name> <title>Valid from</title> <type>date</type> </field> <field ordinal="6" useInSave="true"> <name>validTo</name> <title>Valid to</title> <type>date</type> </field> </panel> </root>
If I use ListGrid in place of Menu then this code works as expected.
MichalG