Take a look at the page source in the browser. Tapestry 5.4 loads modules at 
the end of the page.

A sample of the tapestry way (what I know) to load shim:
In AppModule.java
@Contribute(ModuleManager.class)
public static void setupMyBaseModules(MappedConfiguration<String, Object> 
configuration,
                                      
@Path("META-INF/assets/jacillacore/highcharts/highcharts.src.js") Resource 
highchartsSrc,
                                      
@Path("META-INF/assets/jacillacore/highcharts/highcharts-more.src.js") Resource 
highchartsMoreSrc) {
    configuration.add("highcharts", new 
JavaScriptModuleConfiguration(highchartsSrc));
    configuration.add("highchartsMore", new 
JavaScriptModuleConfiguration(highchartsMoreSrc).dependsOn("highcharts"));
}

I would recommend to use AMD modules instead of inline javascript.

S-E

From: Ric-01 [via Apache Tapestry Mailing List Archives] 
<ml+s1045711n5733873...@n5.nabble.com>
Sent: mandag 26. mars 2018 23:07
To: Svein-Erik Løken <sv...@jacilla.no>
Subject: Re: Javacsript module problem

Hi Cezary,

first thanks. Yes, it was a mixture of all that, meanwhile I studied the
requirejs documentation strongly and checked out the tapestry5-jquery
project, to learn from it.

And now a lot of things are already working!

A lot in requirejs and AMD semms to be magical and I prefer to do java
coding, but we'll never stop to learn...

Regards, Erich



Am 26.03.2018 17:21, schrieb Cezary Biernacki:

> Hi Erich,
>
> One problem I can see is that function showLoadingIndicator() is not
> exported from define(.., function() { ... }). You should add "return {
> showLoadingIndicator: showLoadingIndicator };" at the end of "function() {
> ... }".
>
> However I believe it will not solve a problem indicated by message
> "Couldn’t resolve classpath asset from path
> META-INF\modules\hotel\loadingIndicatorTrigger.js" (I guess you are on
> Windows, so slashes are translated to slashes, but it should not be an
> issue). It suggests that the JS file is missing. So either it was not
> copied from the source directories to the directories (or JARs) used during
> execution - check your build directories to see if the file is really
> there, if not, than run your build process. Or file name
> "hotel/loadingIndicatorTrigger"
> is misspelled in somewhere.
>
> Cezary
>
>
>
>
>
> On Sun, Mar 25, 2018 at 3:19 PM, Erich Gormann<[hidden 
> email]</user/SendEmail.jtp?type=node&node=5733873&i=0>>  wrote:
>
>> Dear all,
>>
>>  From a java class I load a js module and try to invoke a method in it
>> using the following line:
>>
>> javaScriptSupport.require("hotel/loadingIndicatorTrigger").
>> invoke("showLoadingIndicator");
>>
>> The script file loadingIndicatorTrigger.js is in
>> src/main/resources/META-INF/modules/hotel/loadingIndicatorTrigger.js
>>
>> This is the content of the script:
>> requirejs.config({
>> "shim": {
>> "hotel/globals/jquery.loading.indicator": {
>> deps: ["jquery"]
>> }
>> }
>> });
>>
>> define(["hotel/globals/jquery.loading.indicator"], function() {
>>
>> function showLoadingIndicator() {
>> var homeLoader = jQuery('body').loadingIndicator({
>> useImage: false,
>> }).data("loadingIndicator");
>> homeLoader.show();
>> }
>>
>> });
>>
>> Now the browser console prompts always the following error: "RequireJS
>> error: require: moduleLib is undefined".
>>
>> In my Eclipse I see a warning in above line of java code: "Couldn’t
>> resolve classpath asset from path META-INF\modules\hotel\loading
>> IndicatorTrigger.js"
>>
>> I tried different things like
>> define(["jquery", "hotel/globals/jquery.loading.indicator"], function($) {
>> buterror is always the same.
>>
>> Is there something missing in my configuration or in the applications
>> module class?
>>
>> Thanks for your help!
>>
>>
>> Regards, Erich
>>
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden 
>> email]</user/SendEmail.jtp?type=node&node=5733873&i=1>
>> For additional commands, e-mail: [hidden 
>> email]</user/SendEmail.jtp?type=node&node=5733873&i=2>
>>
>>


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden 
email]</user/SendEmail.jtp?type=node&node=5733873&i=3>
For additional commands, e-mail: [hidden 
email]</user/SendEmail.jtp?type=node&node=5733873&i=4>


________________________________
If you reply to this email, your message will be added to the discussion below:
http://apache-tapestry-mailing-list-archives.1045711.n5.nabble.com/Javacsript-module-problem-tp5733870p5733873.html
To unsubscribe from users@tapestry.apache.org<mailto:users@tapestry.apache.org> 
Mailing List Archives, click 
here<http://apache-tapestry-mailing-list-archives.1045711.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=2375125&code=c3ZlaW5AamFjaWxsYS5ub3wyMzc1MTI1fC0xNTM4NzY2ODg4>.
NAML<http://apache-tapestry-mailing-list-archives.1045711.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>

Reply via email to