Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    #16
    Do you have a small, standalone sample that we can use for testing to make sure we can reproduce your issue?

    Comment


      #17
      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


        #18
        We're still not reproducing the error. Tried in the showcase and dropped into a standalone html page. Used both Safari and Chrome. Can you provide more information on your test environment?

        Comment


          #19
          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


            #20
            Just for fun I copied these 2 files, the js and the jsp to the smartclientSDK for 3/29/2018 and ran the test from the builtin server. Once again I get the same error.

            Comment


              #21
              Please try delaying your code execution until the page has fully loaded. It appears that the framework is not completely loaded before an attempt to use certain methods occurs.

              Comment


                #22
                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


                  #23
                  Take a look at Page.setEvent("load", ...).

                  Comment


                    #24
                    That did it.
                    Thanks.

                    Comment


                      #25
                      Beginning with 11.1+ builds dated 4/4/18 or later waiting on page load should no longer be necessary.

                      Comment

                      Working...
                      X