Quantcast
Channel: SmartClient Forums
Viewing all 4756 articles
Browse latest View live

Replacing GWT DeckPanel

$
0
0
1. SmartClient Version v10.0p_2015-03-14/Power Edition Deployment
(built 2015-03-14)

2. Browser IE 11.0.9 and Firefox 13.0


I have inherited some code that mixes smart gwt and gwt; my assumption is that its generally bad to mix the two. The majority of the code is smartgwt but in one place the GWT Deck panel is used to manage some GWT composites which in turn contain facet charts. I thought perhaps I could replace the composites with VLayouts but wasn't sure if this would work with the DeckPanel, and didn't see a smartgwt replacement for GWT deck panel.

Any guidance would be appreciated.

Thanks

DS Console not loading (missing unused hibernate)

$
0
0
Hi Isomorphic,

I get this error when trying to open the DS Console (v10.0p_2015-04-10, see screenshot).
I'm not using hibernate and do not have hibernate in my class path or WEB-INF\libs directory.

Server log:
Quote:

=== 2015-04-10 19:13:26,747 [c-11] INFO RequestContext - URL: '/lms/lms/tools/adminConsoleOperations.jsp', User-Agent: 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0': Moz (Gecko) with Accept-Encoding header
=== 2015-04-10 19:13:26,760 [c-11] DEBUG RPCManager - Processing 2 requests.
=== 2015-04-10 19:13:26,761 [c-11] DEBUG RPCManager - Request #1 (RPCRequest) data: {
appID:"isc_builtin",
className:"com.isomorphic.tools.AdminConsole",
methodName:"getDefinedDatabases",
arguments:[
true
],
is_ISC_RPC_DMI:true
}
=== 2015-04-10 19:13:26,762 [c-11] DEBUG RPCManager - Request #2 (RPCRequest) data: {
appID:"isc_builtin",
className:"com.isomorphic.tools.BuiltinRPC",
methodName:"getDefinedDataSources",
arguments:[
],
is_ISC_RPC_DMI:true
}
=== 2015-04-10 19:13:26,767 [c-11] DEBUG RPCDMI - appConfig: isc.Application.create({
rpcBindings:[
{
ID:"builtin",
className:"com.isomorphic.rpc.BuiltinRPC",
visibleMethods:[
{
name:"downloadWSDL"
},
{
name:"downloadClientContent"
},
{
name:"downloadClientExport"
},
{
name:"xmlToJS"
},
{
name:"uploadProgressCheck"
},
{
name:"saveFile"
},
{
name:"appendToFile"
},
{
name:"loadFile"
},
{
name:"deleteFile"
},
{
name:"loadSharedXML"
},
{
name:"saveSharedXML"
},
{
name:"getAvailableScriptEngines"
},
{
name:"devConsoleEvalServerScript"
},
{
name:"evalJava"
},
{
name:"getLogNames"
},
{
name:"getLogEntries"
},
{
name:"clearLogEntries"
},
{
name:"getLogThresholds"
},
{
name:"setLogThreshold"
},
{
name:"setTemporaryLogThreshold"
},
{
name:"revertTemporaryLogThresholds"
},
{
name:"getPdfObject"
},
{
name:"exportImage"
},
{
name:"areServerTimingsTracked"
},
{
name:"trackServerTimings"
}
]
},
{
ID:"builtin_tools",
className:"com.isomorphic.tools.BuiltinRPC",
visibleMethods:[
{
name:"getDataSourceFromTable"
},
{
name:"getDataSourceJSONFromTable"
},
{
name:"getDataSourceFromHibernateMapping"
},
{
name:"getDataSourceJSONFromHibernateMapping"
},
{
name:"getTables"
},
{
name:"getFieldsFromTable"
},
{
name:"getBeanFields"
},
{
name:"getHibernateBeans"
},
{
name:"getDatabaseProductNameAndVersion"
},
{
name:"getDatabaseTableTypes"
},
{
name:"setAttributes"
},
{
name:"clearAttributes"
},
{
name:"getAttributes"
},
{
name:"getAttribute"
},
{
name:"getDataSourceConfigFromJavaClass"
},
{
args:"cName",
language:"groovy",
name:"getJavaSource",
script:"\n if (!com.isomorphic.auth.DevModeAuthFilter.devModeAuthorized(request)) throw new Exception(\"Not Authorized\"); \n //import org.apache.bcel.Repository;\n\n try {\n return org.apache.bcel.Repository.lookupClass(cName).toString();\n } catch (Throwable e) {\n return \"Unable to reverse engineer class \"+cName+\": \"+e.getMessage();\n }\n "
},
{
name:"loadDataSource"
},
{
name:"dsFromXML"
},
{
name:"dsConfigFromXML"
},
{
name:"getDefinedDataSources"
}
]
},
{
ID:"builtin_adminconsole",
className:"com.isomorphic.tools.AdminConsole",
visibleMethods:[
{
name:"getDefinedDatabases"
},
{
name:"testDB"
},
{
name:"saveDBConfig"
},
{
name:"setDefaultDB"
},
{
name:"importDataSources"
},
{
name:"discoverJNDIDatabases"
}
]
}
]
})

=== 2015-04-10 19:13:26,773 [c-11] DEBUG RPCDMI - appConfig: isc.Application.create({
rpcBindings:[
{
ID:"builtin",
className:"com.isomorphic.rpc.BuiltinRPC",
visibleMethods:[
{
name:"downloadWSDL"
},
{
name:"downloadClientContent"
},
{
name:"downloadClientExport"
},
{
name:"xmlToJS"
},
{
name:"uploadProgressCheck"
},
{
name:"saveFile"
},
{
name:"appendToFile"
},
{
name:"loadFile"
},
{
name:"deleteFile"
},
{
name:"loadSharedXML"
},
{
name:"saveSharedXML"
},
{
name:"getAvailableScriptEngines"
},
{
name:"devConsoleEvalServerScript"
},
{
name:"evalJava"
},
{
name:"getLogNames"
},
{
name:"getLogEntries"
},
{
name:"clearLogEntries"
},
{
name:"getLogThresholds"
},
{
name:"setLogThreshold"
},
{
name:"setTemporaryLogThreshold"
},
{
name:"revertTemporaryLogThresholds"
},
{
name:"getPdfObject"
},
{
name:"exportImage"
},
{
name:"areServerTimingsTracked"
},
{
name:"trackServerTimings"
}
]
},
{
ID:"builtin_tools",
className:"com.isomorphic.tools.BuiltinRPC",
visibleMethods:[
{
name:"getDataSourceFromTable"
},
{
name:"getDataSourceJSONFromTable"
},
{
name:"getDataSourceFromHibernateMapping"
},
{
name:"getDataSourceJSONFromHibernateMapping"
},
{
name:"getTables"
},
{
name:"getFieldsFromTable"
},
{
name:"getBeanFields"
},
{
name:"getHibernateBeans"
},
{
name:"getDatabaseProductNameAndVersion"
},
{
name:"getDatabaseTableTypes"
},
{
name:"setAttributes"
},
{
name:"clearAttributes"
},
{
name:"getAttributes"
},
{
name:"getAttribute"
},
{
name:"getDataSourceConfigFromJavaClass"
},
{
args:"cName",
language:"groovy",
name:"getJavaSource",
script:"\n if (!com.isomorphic.auth.DevModeAuthFilter.devModeAuthorized(request)) throw new Exception(\"Not Authorized\"); \n //import org.apache.bcel.Repository;\n\n try {\n return org.apache.bcel.Repository.lookupClass(cName).toString();\n } catch (Throwable e) {\n return \"Unable to reverse engineer class \"+cName+\": \"+e.getMessage();\n }\n "
},
{
name:"loadDataSource"
},
{
name:"dsFromXML"
},
{
name:"dsConfigFromXML"
},
{
name:"getDefinedDataSources"
}
]
},
{
ID:"builtin_adminconsole",
className:"com.isomorphic.tools.AdminConsole",
visibleMethods:[
{
name:"getDefinedDatabases"
},
{
name:"testDB"
},
{
name:"saveDBConfig"
},
{
name:"setDefaultDB"
},
{
name:"importDataSources"
},
{
name:"discoverJNDIDatabases"
}
]
}
]
})

=== 2015-04-10 19:13:26,777 [c-11] DEBUG RPCDMI - Invocation threw exception
java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration
at com.isomorphic.tools.BuiltinRPC.getDefinedDataSourcesAsList(BuiltinRPC.java:644)
at com.isomorphic.tools.BuiltinRPC.getDefinedDataSources(BuiltinRPC.java:716)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.isomorphic.base.Reflection.adaptArgsAndInvoke(Reflection.java:975)
at com.isomorphic.base.Reflection.adaptArgsAndInvoke(Reflection.java:805)
at com.isomorphic.rpc.RPCDMI.execute(RPCDMI.java:309)
at com.isomorphic.rpc.RPCDMI.execute(RPCDMI.java:66)
at org.apache.jsp.lms.tools.adminConsoleOperations_jsp._jspService(adminConsoleOperations_jsp.java:137)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at com.isomorphic.servlet.CompressionFilter._doFilter(CompressionFilter.java:260)
at com.isomorphic.servlet.BaseFilter.doFilter(BaseFilter.java:83)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:611)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.hibernate.cfg.Configuration
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
... 40 more
=== 2015-04-10 19:13:26,783 [c-11] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8
=== 2015-04-10 19:13:26,785 [c-11] INFO Compression - /lms/lms/tools/adminConsoleOperations.jsp: 7130 -> 1124 bytes
Best regards,
Blama

Attached Images
File Type: png DS_Console_not_loading.png (24.8 KB)

Question about behavior change for QTP test on SelectItem

$
0
0
Hi,

Our customer is testing the UI using UFT (HP-Previously it called as QTP). They notice some behavior change once we upgrade from SmartClient_v83p_2014-01-24_PowerEdition to SmartClient_v83p_2015-01-31_PowerEdition: for every SelectItem they noticed title value appears as "UNKNOWN".

Could you please help with this issue? Please check the screen shot for current&previous behavior.

Thanks,
Robin

Attached Images
File Type: jpg current.JPG (52.5 KB)
File Type: jpg Previous.JPG (75.3 KB)

How RESTful is RestDataSource/RESTHandler?

$
0
0
My experience is mostly in enterprise integration/SOA type projects [meaning: non-public APIs]. I'm mainly a dyed-in-the-wool SOAP/WS* guy myself. I've only become interested in the formal ReST architectural style in the last 2 weeks.

But I'm always up for learning new stuff. So in the recent few days of researching the whole ReST bandwagon, I think I now grok Chapter 5 of Roy Fielding's PhD dissertation well-enough to at least be able to ask some salient questions.

A lot of what I've read about ReST makes me reminisce about the PERL/CGI work I use to do back in the day. But I digress.

What I need to ask at this point in my learning about ReST [and SmartGWT's take on it], is this...
  1. To which of Fielding's original ReSTful constraints does RestDataSource and RESTHandler conform?
  2. If RestDataSource/RESTHandler do not conform to the "Pure ReST" style [as defined by Fielding], what are the practical reasons for Isomorphic not doing so?
  3. Why does it seem like SmartGWT's "RestXXX" components are simply piggybacking on the ReST buzzword, while not being strictly ReSTful?
  4. Why wouldn't HttpMessageDataSource and HttpMessageHandler be more apt names for RestDataSource and RESTHandler respectively?

My questions are not targeted at Isomorphic exclusively. I'd be equally grateful for anybody else's answers based on their experience using RestDataSource/RESTHandler with their purely ReSTful services. Thank you in advance.

ListGrid messed up when using autoFitValues:true and canFreezeFields: true

$
0
0
I've found an issue with the ListGrid when using both autoFitValues: true and canFreezeFields: true.

To see the problem, check out the following showcase example:

http://www.smartclient.com/#autofitValues

Edit the code and add canFreezeFields: true. Then click the Try it button. Switch to the ListGrid View and freeze the Country column.

Notice that Country fields resize to their default height while the Background fields remain large, so the rows are no longer complete rows.

Deployment failure right before PreCache servlet

$
0
0
I've got two nearly identical machines (OSX 10.8.5 and OSX 10.9.?), identical and unaltered apache tomcats (except for loading my webapp), and I can start my webapp on one and not the other.


On the machine that fails (OSX 10.8.5), this is at the end of catalina-daemon.out (and then it freezes, no webserver, no other log messages):
Code:

....
INFO: Deploying web application directory /usr/local/apache-tomcat-7.0.59/webapps/ROOT
ISC: Configuring log4j from: file:/usr/local/apache-tomcat-7.0.59/webapps/ROOT/WEB-INF/classes/log4j.isc.config.xml
=== 2015-04-10 12:49:00,403 [op-1] INFO  ISCInit - Isomorphic SmartClient/SmartGWT Framework - Initializing
=== 2015-04-10 12:49:00,421 [op-1] INFO  ConfigLoader - Attempting to load framework.properties from CLASSPATH
=== 2015-04-10 12:49:00,755 [op-1] INFO  ConfigLoader - Successfully loaded framework.properties from CLASSPATH at location: jar:file:/usr/local/apache-tomcat-7.0.59/webapps/ROOT/WEB-INF/lib/isomorphic_core_rpc.jar!/framework.properties
=== 2015-04-10 12:49:00,756 [op-1] INFO  ConfigLoader - Attempting to load project.properties from CLASSPATH
=== 2015-04-10 12:49:00,756 [op-1] INFO  ConfigLoader - Unable to locate project.properties in CLASSPATH
=== 2015-04-10 12:49:00,822 [op-1] INFO  ConfigLoader - Successfully loaded isc_interfaces.properties from CLASSPATH at location: jar:file:/usr/local/apache-tomcat-7.0.59/webapps/ROOT/WEB-INF/lib/isomorphic_core_rpc.jar!/isc_interfaces.properties
=== 2015-04-10 12:49:00,823 [op-1] INFO  ConfigLoader - Attempting to load server.properties from CLASSPATH
=== 2015-04-10 12:49:00,835 [op-1] INFO  ConfigLoader - Successfully loaded server.properties from CLASSPATH at location: file:/usr/local/apache-tomcat-7.0.59/webapps/ROOT/WEB-INF/classes/server.properties
=== 2015-04-10 12:49:00,844 [op-1] INFO  Logger - Logging system started.
=== 2015-04-10 12:49:00,846 [op-1] INFO  ISCInit - Auto-detected webRoot - using: /usr/local/apache-tomcat-7.0.59/webapps/ROOT
=== 2015-04-10 12:49:00,849 [op-1] INFO  ISCInit - Isomorphic SmartClient/SmartGWT Framework (v9.1p_2015-02-07/Pro Deployment 2015-02-07) - Initialization Complete
log4j:WARN No appenders could be found for logger (net.bull.javamelody).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

When I stop this instance of tomcat, I get an additional error in catalina-daemon.out:
Code:

Service exit with a return value of 143
If I remove my ROOT application, then this tomcat launches successfully (i.e. without my webapp).

On the other machine (OSX 10.9.?) I get (and tomcat launches successfully):
Code:

...
INFO: Deploying web application directory /usr/local/apache-tomcat-7.0.59/webapps/ROOT
ISC: Configuring log4j from: file:/usr/local/apache-tomcat-7.0.59/webapps/ROOT/WEB-INF/classes/log4j.isc.config.xml
=== 2015-04-10 13:01:53,985 [op-1] INFO  ISCInit - Isomorphic SmartClient/SmartGWT Framework - Initializing
=== 2015-04-10 13:01:53,990 [op-1] INFO  ConfigLoader - Attempting to load framework.properties from CLASSPATH
=== 2015-04-10 13:01:54,190 [op-1] INFO  ConfigLoader - Successfully loaded framework.properties from CLASSPATH at location: jar:file:/usr/local/apache-tomcat-7.0.59/webapps/ROOT/WEB-INF/lib/isomorphic_core_rpc.jar!/framework.properties
=== 2015-04-10 13:01:54,190 [op-1] INFO  ConfigLoader - Attempting to load project.properties from CLASSPATH
=== 2015-04-10 13:01:54,191 [op-1] INFO  ConfigLoader - Unable to locate project.properties in CLASSPATH
=== 2015-04-10 13:01:54,223 [op-1] INFO  ConfigLoader - Successfully loaded isc_interfaces.properties from CLASSPATH at location: jar:file:/usr/local/apache-tomcat-7.0.59/webapps/ROOT/WEB-INF/lib/isomorphic_core_rpc.jar!/isc_interfaces.properties
=== 2015-04-10 13:01:54,224 [op-1] INFO  ConfigLoader - Attempting to load server.properties from CLASSPATH
=== 2015-04-10 13:01:54,231 [op-1] INFO  ConfigLoader - Successfully loaded server.properties from CLASSPATH at location: file:/usr/local/apache-tomcat-7.0.59/webapps/ROOT/WEB-INF/classes/server.properties
=== 2015-04-10 13:01:54,238 [op-1] INFO  Logger - Logging system started.
=== 2015-04-10 13:01:54,239 [op-1] INFO  ISCInit - Auto-detected webRoot - using: /usr/local/apache-tomcat-7.0.59/webapps/ROOT
=== 2015-04-10 13:01:54,240 [op-1] INFO  ISCInit - Isomorphic SmartClient/SmartGWT Framework (v9.1p_2015-02-07/Pro Deployment 2015-02-07) - Initialization Complete
log4j:WARN No appenders could be found for logger (net.bull.javamelody).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
=== 2015-04-10 13:01:54,426 [op-1] INFO  PreCache - Isomorphic PreCache servlet loading
=== 2015-04-10 13:01:54,467 [op-1] DEBUG XML - Parsed XML from /usr/local/apache-tomcat-7.0.59/webapps/ROOT/isomorphic/system/schema/builtinTypes.xml: 8ms
=== 2015-04-10 13:01:54,492 [op-1] INFO  PoolManager - SmartClient pooling started for 'simpleTypes' objects
=== 2015-04-10 13:01:54,583 [op-1] DEBUG XML - Parsed XML from /usr/local/apache-tomcat-7.0.59/webapps/ROOT/isomorphic/system/schema/DataSource.ds.xml: 6ms
...

I've copied over my ROOT webapp from one machine to the other and diff says they're identical.

So somehow the unsuccessful launch stopped right before this message:
Code:

=== 2015-04-10 13:01:54,426 [op-1] INFO  PreCache - Isomorphic PreCache servlet loading
Do you have any ideas what might be going on here?

5.0p LGPL "Hello World"-project problem

$
0
0
Hi Isomorphic,

the project under smartgwt-5.0p_lgpl\helloworld-2.0 misses an Eclipse project file so that the installation instruction "A" in the directory's README.txt does not work.
This might be unpleasant for new users that do not use the EE-eval's BuiltInDS sample.

Best regards,
Blama

How to set value for MiniDateRangeItem

$
0
0
Hi,

I try to set the value for MiniDateRangeItem from code as follows:

MiniDateRangeItem mdri = new MiniDateRangeItem();
DateRange = new DateRange();
dateRange.setRelativeStartDate(new RelativeDate("-1200m"));
dateRange.setRelativeEndDate(new RelativeDate("-1000m"));
mdri.setValue(dateRange);

But the value is not getting displayed in the field.

Thanks,
Ramya

How to set value for MiniDateRangeItem

$
0
0
Hi,

I try to set the value for MiniDateRangeItem from code as follows:

MiniDateRangeItem mdri = new MiniDateRangeItem();
DateRange = new DateRange();
dateRange.setRelativeStartDate(new RelativeDate("-1200m"));
dateRange.setRelativeEndDate(new RelativeDate("-1000m"));
mdri.setValue(dateRange);

But the value is not getting displayed in the field.

Thanks,
Ramya

Paged TreeGrid blocks other server-requests completely

$
0
0
Hi there,

I'm implementing paged treegrids, but there seems to be a issue after loading the datasource multiple times.
If you open several nodes and scroll in the listgrid other requests through the RPCManager are not sent. The user can continue to select multiple items, but if the user is trying to start a server-event (for example to change the view), the whole smartclient seems to be freezed.

Here you can see an example:


I used a similar example as in this thread.
Despite the fact that the same example was used, i assume there is a other basic issue, therefore i opened a new thread.

It's reproducable with Firefox 37.0.1 and Chrome Version 41.0.2272.118 m with the latest nightly SmartClient_v100p_2015-04-12_Pro.

I think this is a major issue, which blocks the usage of the whole paged-feature of treegrids. By now I'm starting to worry a little bit why i'm the only one, who reports issues on the paged treegrid.
Is something basically wrong with the paged-treegrid so nobody uses this? I think this should have been discovered earlier if anyone has used the paged datasource, or is my example such a weird use-case? Just asking.

Here is the Code to reproduce:
Code:

isc.VLayout.create({
        "ID" : "rootLayout_5",
        "width" : "100%",
        "height" : "100%",
        "autoDraw" : true,
        "hideUsingDisplayNone" : false,
        "leaveScrollbarGap" : false,
        "members" :
        [
                isc.TreeGrid.create({
                        "ID" : "theTreeGrid",
                        "width" : "100%",
                        "height" : "100%",
                        "selectionType" : "multiple",
                        "canEdit" : false,
                        "showFilterEditor" : false,
                        dataSource : isc.DataSource.create({
                                "fields" :
                                [{
                                                "name" : "treeGridGeneratedIndex",
                                                "primaryKey" : true,
                                                "hidden" : true,
                                                "canView" : false
                                        }, {
                                                "name" : "nameField",
                                                "title" : "Reason",
                                                "type" : "text"
                                        }, {
                                                "name" : "parentId",
                                                "rootValue" : "2531",
                                                "foreignKey" : "treeGridGeneratedIndex",
                                                "hidden" : true
                                        }
                                ],
                                "dataFormat" : "json",
                                "dataURL" : "http://devset.de/treegrid.php",
                                "transformRequest" : requestTransformer,
                                "transformResponse" : responseTransformer,
                                "recordXPath" : "\/resultData",
                                useHttpProxy : false
                        }),
                        dataProperties : {
                                openProperty : "isOpen",
                                childrenProperty : "children"
                        },
                        "autoFetchData" : true,
                        "dataPageSize" : 20,
                        "dataFetchMode" : "paged",
                        "selectionProperty" : "isSelected",
                        "fields" :
                        [{
                                        "name" : "nameField",
                                        "title" : "Reason",
                                        "type" : "text",
                                        "canEdit" : true,
                                        "canSort" : true
                                }, {
                                        "name" : "lastField",
                                        "title" : "Name",
                                        "type" : "text",
                                        "canEdit" : true,
                                        "canSort" : true
                                }
                        ],
                        "selectionProperty" : "isSelected",
                        "members" :
                        []
                }),
                isc.ToolStrip.create({
                        "width" : "100%",
                        "bottom" : 0,
                        "hideUsingDisplayNone" : false,
                        "layoutLeftMargin" : 3,
                        "layoutRightMargin" : 3,
                        "leaveScrollbarGap" : false,
                        "members" :
                        [isc.Button.create({
                                        "click" : function () {
                                                var theResult = "isc.showMessage('sucessful');";
                                                isc.RPCManager.sendRequest({
                                                        actionURL : "http://crossorigin.me/http://jsfiddle.net/echo/js/",
                                                        httpMethod : "GET",
                                                        params : {
                                                                "js" : theResult
                                                        },
                                                        useSimpleHttp : true,
                                                        callback : function (rpcResponse, jsondata, rpcRequest) {
                                                                if (rpcResponse.status !== 0) {
                                                                        console.log(failed)
                                                                } else {
                                                                        eval(jsondata);
                                                                        isc.clearPrompt();
                                                                }
                                                        }
                                                });
                                        },
                                        "title" : "Make a server-request",
                                        "hiliteAccessKey" : true,
                                        "width": "200",
                                        "showDisabledIcon" : false
                                })]
                })
        ]
});
function requestTransformer(dataSourceRequest) {
        var operationType = {
                operationType : dataSourceRequest.operationType
        };
        if (dataSourceRequest.operationType == "fetch") {
                var params = {
                        sortBy : dataSourceRequest.sortBy,
                        start : dataSourceRequest.startRow,
                        end : dataSourceRequest.endRow
                };
        }
        return isc.addProperties({}, operationType, dataSourceRequest.data, params);
}
function responseTransformer(dataSourceResponse, dataSourceRequest, jsonData) {
        if (dataSourceRequest.operationType == "fetch") {
                dataSourceResponse.totalRows = jsonData.totalRows;
                dataSourceResponse.endRow = jsonData.endRow;
                dataSourceResponse.startRow = jsonData.startRow;
        };
}

Best

FilterBuilder's editorType method is not work in SmartGWT3.0.0.

$
0
0
We used FilterBuilder's editorType method in order to change DataSouceDateField's editorType from RelativeDateItem to DateItem.
But, FilterBuilder's editorType method is not work.

We used SmartGWT v3.0.0. The issue may be fixed by updating to the latest version.
But, because of our business, we can not update immediately, because of our business.
If alternative solution without updating version exist, would you please tell me?

Code:

        final FilterBuilder filterBuilder = new FilterBuilder();
               
        DataSource ds = new DataSource();
               
        final DateItem editorType = new DateItem();
        editorType.setUseTextField(true);
        editorType.setEnforceDate(true);
        editorType.setValidateOnExit(true);

        DataSourceDateField dtField = new DataSourceDateField("name", "title");       
        dtField.setEditorType(editorType);
        ds.setFields(dtField);
        filterBuilder.setDataSource(ds);
       
        vLayout.addMember(filterBuilder);

Order of columns in Grid is not maintained once we freeze and unfreeze the grid

$
0
0
http://www.smartclient.com/smartgwtee/showcase/#customComponents

In the List Grid, if you freeze a column and unfreeze it, the order of the columns is not maintained. Is it designed that way or is it a bug?
Actual Result:
original order of the columns is not maintained after unfreezing
Expected Result:
original order of the columns should be maintained after unfreezing

When hiding/unhiding columns in the Gridview, the horizontal scroll bar disappears

$
0
0
In the List Grid, right click on any header and select Columns. Then proceed to hide columns until the scroll bar disappears. Now unhide columns until they can no longer fit in the grid and the horizontal scroll bar doesn't reappear

Actual: The scroll bar never appears
Expected: The scroll bar should appear again

This is not browser dependent. I've tested in IE and Chrome.

How to set max number of rows in ListGrid so that i can achieve pagination

$
0
0
I want pagination in my ListGrid , so the first think i need is how to set maximum no of rows in the gridview.After that i will think how to achieve pagination. If some has the code to achieve the pagination I would be greatfull.I M NEW TO SMART GWT :(


Thax in advance.

Bug in Checkbox when changed "allowEmptyValue"?

$
0
0
Hi Isomorphic,

I'd like to ask - is it allowed/supported to change the CheckboxItem property "allowEmptyValue" when the item is already created?
I would like to have the checkbox, which can change it's behavior from 3 state to "native" 2 state on the fly.
Like in the following simple example, it seems the tested checkbox changes it's style, when the "allowEmptyValue = false" is set. But still has the 3 states...

Code:

isc.DynamicForm.create({
    width: 300,
    fields: [
        {name: "testSwitcher",
        type: "checkbox",
        value: true,
        title: "Allow empty value for 'TestCheckbox'",
        changed: "form.getField('testCheckbox').allowEmptyValue = value"
        },
        {name: "testCheckbox",
        type: "checkbox",
        allowEmptyValue: true,
        redrawOnChange: true,
        title: "TestCheckbox",
        changed: "this.title = 'TestCheckbox ['+value+']'"
        }
    ]
});

Any hint is appreciated.

SmartClient Version: v10.0p_2015-04-09/LGPL Development Only (built 2015-04-09)

File will not download in IE 9 and up but works in Chrome and IE8

$
0
0
Be sure your post includes:

1. isomorphic/system/modules/ISC_Core.js?isc_version=v9.0p_2013-11-03.js

2. IE 11.0.9600 (not working)
IE 9.0.8112 (not working)
IE 8.00.7600 (working)
Chrome 41.0.2272.118 (working)

3 & 4. [c-10] ERROR ProxyHttpServletResponse - Error - getWriter() called on request that has already returned an OutputStream - stack trace for previous getOutputStream() call:
java.lang.Exception

6. window.location.replace("/pmu.jsp?src=USER&rand="+Math.random() + params,"","width=" + width + ",height=" + height + ",top=" + top + ",left=" + left);


The Error is present in every attempt weather the file is downloaded or not.

DSResponse data is expected to be an array of ListGridRecords. This allows the data

$
0
0
Hi

After upgrade to Smart GWT 5.0, we experience warning message "DSResponse data is expected to be an array of ListGridRecords. This allows the data to be displayed as expected in ListGrids bound to this dataSource."
Has to be DataSource always bound only to ListGrid? I guess not, what about option DataSource for select items or DataSource used for forms.

DSResponse.setData() has method argument of type Record[], but providing array of Record will always show warning message ... then why you rather don't force users to provide argument of type ListGridRecord[]?

DSResponse.getData() return type is Record[]. So it is not possible to use DSResponse.setData(DSResponse.getData()) without warning.

Can you please defend your intention behind the warning message?
Thanks
Matus

RestDataSource versus GwtRpcDataSource?

$
0
0
I'm constrained to using only the SmartGWT LGPL offering.

My understanding of the community-provided GwtRpcDataSource is that it does not provide any of the basic queue / batch / transaction / combined-operation features discussed in reference to RestDataSource in the quotes below. Do I understand that correctly?

Quote:

Originally Posted by Charles Kendrick
...
  1. the different CRUD operations ... can no longer be combined into a single queue and sent together...you can't do basic things like perform a mixture of create and update operations together in a transaction, save a new Order along with it's OrderItems, or save data and also fetch dependent data needed to transition to a new screen...
...

[more]

Quote:

Originally Posted by Isomorphic

...transactions that mix operation types (like editing a grid and both updating and adding rows) or entity types (like inserting an order and it's related items)....

[more]


Quote:

Originally Posted by Isomorphic

...dozens of features that needs queuing to work: mass update (listGrid.autoSaveEdits:false), multi-row drag&drop, BatchUploader, large tree load-on-demand, master-detail saves, serverCustom validators, CubeGrid, many others...

[more]

Or is it that we get all of the above features if we go the GwtRpcDataSource route, by the underlying framework somehow providing all [or some] of the above features using non-batched / one-at-a-time / round-trip calls to fetch, add, update, remove?

Please clarify? Thank you in advance.

tabset auto height adjustment based on content pane height

$
0
0
I am using smartgwt 4.0 free version.I have a tab set with 4 different tab.
Each tab have a form and a drop down.Based on the drop down selection the number of components on the form changes.When less components are visible on the form I see a huge white space below submit button.

How can I auto adjust the height of Tabset based on the height of the form to remove this extra space in bottom of tabset.

I have tried this but nothing happened

tabSet.setOverflow(Overflow.VISIBLE);
tabSet.setPaneContainerOverflow(Overflow.VISIBLE);

IPickTreeItem addChangeHandler doesn't work

$
0
0
I want to capture the event when the iPickTreeItem's value changes on a selection. This code is never hit when I select the pick tree item.

How do I access the onChange item for an iPickTreeItem?

SmartClient Version: v9.1p_2014-07-22/PowerEdition Deployment (built 2014-07-22)
Firefox 11

TreeNode moreActionsRoot = new MoreActionsTreeNode("root",
new MoreActionsTreeNode("Root", "Action1", "Action2"));

Tree tree = new Tree();
tree.setRoot(moreActionsRoot);

IPickTreeItem moreActionsItem = new IPickTreeItem();
moreActionsItem.setShowTitle(false);
moreActionsItem.setValueTree(tree);
moreActionsItem.addChangeHandler(new ChangeHandler() {

@Override
public void onChange(ChangeEvent event) {
GWT.log("Change to " + event.getValue());

}
});

public static class MoreActionsTreeNode extends TreeNode {

public MoreActionsTreeNode(String name) {
setName(name);
}

public MoreActionsTreeNode(String name, MoreActionsTreeNode... children) {
setName(name);
setChildren(children);
}
}
Viewing all 4756 articles
Browse latest View live