Do you have a small, standalone sample that we can use for testing to make sure we can reproduce your issue?
Announcement
Collapse
No announcement yet.
X
-
This reproduces the error. The button is visible and working with the same getLocator errors.
isc.ToolStripButton.create({
ID:"topToolStripReportButton",
autoDraw:false,
title:"Reports",
visibleWhen:{_constructor:"AdvancedCriteria",fieldName:"roles",operator:"contains",value:"some"},
click:function() {
console.log("That was a click");
}
});
isc.ToolStrip.create({
ID:"topToolStrip",
autoDraw:false,
members:[
{
_constructor:"ToolStripSpacer"
},
topToolStripReportButton,
],
visibilityMode:"multiple"
})
isc.DataView.create({
ID:"mainScreen",
autoDraw:true,
height:"100%",
overflow:"hidden",
width:"100%",
members:[
topToolStrip
],
minMemberSize:"18",
})
mainScreen.provideRuleContext("roles","aRole");
console.log("roles",mainScreen.getRuleContext());
Comment
-
Oracle java 8u161, tomcat 8.5, running in a docker container. For the development environment it picks up the contents of the webroot from a local volume which contains a smartclientRuntime environment plus a few jar files from the SDK to make things like exporting to pdfs work. The tomcat container is proxied through an apache containter using mod_jk with mod_shib2 for shibboleth authentication. The idea of this environment is to be as similar as possible the production container, which has all of it's files builtin with no access to any local volumes.
Running the test in chrome.
I'm loading the testWhen.js file from the jsp below. Maybe I'm failing to load a supporting piece somewhere?
test.jsp:
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib uri="/WEB-INF/iscTaglib.xml" prefix="isomorphic" %>
<HTML><HEAD><TITLE>personnel</TITLE>
<isomorphic:loadISC skin="Graphite" includeModules="Drawing,Analytics,DocViewer,VisualBuilder"/>
</HEAD><BODY>
</script>
<script type="text/javascript" language="JavaScript" src="shared/app/testWhen.js"></SCRIPT>
</BODY></HTML>
ls WEB-INF/lib/
activation.jar isomorphic_core_rpc.jar
ant.jar isomorphic_js_parser.jar
commons-cli-1.4.jar isomorphic_realtime_messaging.jar
commons-codec-1.10.jar isomorphic_sql.jar
commons-collections-3.2.2.jar iText-2.0.8.jar
commons-collections4-4.1.jar javax.websocket-api-1.1.jar
commons-dbcp-1.4.jar joda-time-2.9.9.jar
commons-fileupload-1.3.3.jar jsse.jar
commons-io-2.5.jar jtidy-r938.jar
commons-jxpath-1.3.jar log4j-1.2.17.jar
commons-lang-2.6.jar mail.jar
commons-pool-1.6.jar mysql-connector-java-5.1.35-bin.jar
commons-vfs2-2.1.jar ojdbc6.jar
core-renderer.jar plugin.jar
groovy-2.4.12.jar poi-3.17.jar
groovy-jsr223-2.4.12.jar poi-ooxml-3.17.jar
groovy-sql-2.4.12.jar poi-ooxml-schemas-3.17.jar
hibernate-validator-4.1.0.Final.jar slf4j-api-1.7.12.jar
httpclient-4.5.3.jar tools.jar
httpcore-4.4.6.jar validation-api-1.0.0.GA.jar
isomorphic_assembly.jar velocity-1.7.jar
isomorphic_compression.jar wisc-che-smartclient.jar
isomorphic_contentexport.jar xmlbeans-2.6.0.jar
Comment
-
Adding a 2 second delay seems to work. I'd like a more elegant solution for production though. Is there an event that get's throw when the framework is loaded? I'm thinking a listener like:
<wishedForSolution>
object.addEventListener('smatClientFrameworkLoaded',function() {mainScreen.draw()});
</wishedForSolution>
This is the proof of concept code with a 2 second delay before drawing the mainScreen:
isc.DataView.create({
ID:"mainScreen",
autoDraw:false,
height:"100%",
overflow:"hidden",
width:"100%",
members:[
topToolStrip
],
minMemberSize:"18",
})
setTimeout(function() {
mainScreen.draw()
},2000);
Comment
Comment