Hi , I think this is the problem already asked in the other thread right? See if the response I just put there works for you (create a extern per js script class) and then use it from AS3 in the right order. Let's see if this works for you.
Also here's another project I started using externs to use Mark down for our site: https://github.com/apache/royale-asjs/tree/develop/examples/jewel/royale-website Maybe it give you more working code that helps you to learn about externs. El vie., 2 oct. 2020 a las 13:42, Hugo Ferreira (<[email protected]>) escribió: > Of course. > > > //////////////////////////////////////////////////////////////////////////////// > // > // Licensed to the Apache Software Foundation (ASF) under one or more > // contributor license agreements. See the NOTICE file distributed with > // this work for additional information regarding copyright ownership. > // The ASF licenses this file to You under the Apache License, Version 2.0 > // (the "License"); you may not use this file except in compliance with > // the License. You may obtain a copy of the License at > // > // http://www.apache.org/licenses/LICENSE-2.0 > // > // Unless required by applicable law or agreed to in writing, software > // distributed under the License is distributed on an "AS IS" BASIS, > // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. > // See the License for the specific language governing permissions and > // limitations under the License. > // > > //////////////////////////////////////////////////////////////////////////////// > package > { > /** > * @externs > */ > COMPILE::JS > public class StimulsoftReports > { > /** > * <inject_script> > * var script = document.createElement("script"); > * script.setAttribute("src", > "resources/stimulsoftreports/stimulsoft.reports.js"); > * document.head.appendChild(script); > * window.onload = function() > * { > * var script = document.createElement("script"); > * script.setAttribute("src", > "resources/stimulsoftreports/stimulsoft.viewer.js"); > * document.head.appendChild(script); > * } > * function loadReport(renderArea, reportDefinition) > * { > * var viewer = new Stimulsoft.Viewer.StiViewer(); > * var report = new Stimulsoft.Report.StiReport(); > * report.load(reportDefinition); > * viewer.report = report; > * } > * var link = document.createElement("link"); > * link.setAttribute("rel", "stylesheet"); > * link.setAttribute("href", > "resources/stimulsoftreports/stimulsoft.viewer.office2013.whiteblue.css"); > * document.head.appendChild(link); > * </inject_script> > */ > public function StimulsoftReports(){} > > public static function loadReport(renderArea:Element, > reportDefinition:String):void {} > } > } > > The above example, inject this code: > function loadReport(renderArea, reportDefinition) > { > var viewer = new Stimulsoft.Viewer.StiViewer(); > var report = new Stimulsoft.Report.StiReport(); > report.load(reportDefinition); > viewer.report = report; > } > > Then I run on my Royale/AS side, StimulsoftReports.loadReport ... but I get > console error: Uncaught ReferenceError: StimulsoftReports is not defined > > Perhaps I should create a JS file with this JS script and append to > document head. > > Carlos Rovira <[email protected]> escreveu no dia sexta, 2/10/2020 > à(s) 12:32: > > > Sorry Hugo, don't understand what you mean in your question > > can you reformulate? > > > > > > El vie., 2 oct. 2020 a las 0:27, Hugo Ferreira (<[email protected] > >) > > escribió: > > > > > Hi, > > > > > > I'm currently building a new "wrapper" for Apache Royale to render and > > > design reports thru StimulsoftReports JS library > > > > > > I learned the concept from Carlos and Maria examples and also the > > > documentation. > > > I learned how to import external JS libraries and CSS and how to just > > call > > > a JS function with parameters. > > > > > > But I need to run and build JS on the Royale side. > > > Use StimulsolftReports it's not done by call just a function. > > > I need to build JS code. > > > > > > A short example: > > > var report = new Stimulsoft.Report.StiReport(); > > > report.loadFile("SimpleList.mrt"); > > > var viewer = new Stimulsoft.Viewer.StiViewer(); > > > viewer.report = report; > > > > > > Is there a way to do this like a way to inject this code as the way we > > > already have to inject JS and CSS files on the header ? > > > Or the only way is to build the JS code on a separate JS file and > include > > > it on the project ? > > > > > > > > > -- > > Carlos Rovira > > http://about.me/carlosrovira > > > -- Carlos Rovira http://about.me/carlosrovira
