Page 1 of 1

loaderPath with ExtJs 6

Posted: Thu Sep 14, 2017 12:46 pm
by Damo
I'm seeing an issue where a component I'm trying to load which contains a chart is giving me 404's because Ext.chart.legend.LegendBase is in the classic toolkit folder and not the charts src folder.

We don't load the full application instead we preload ext-all-debug and set the loadPath so we can only load in the files we need for the particular test. e.g.

loaderPath: {
'Ext.ux': '../../../ext/packages/ux/src',
'Ext.chart': '../../../ext/packages/charts/src/chart',
...
}

I'm assuming the loadPath config is what is causing this behaviour however without it we cannot load any chart stuff.

Am I missing something basic here?

Re: loaderPath with ExtJs 6

Posted: Thu Sep 14, 2017 1:06 pm
by Terence
Hard to say without a test case. Is it related to our components? Seems to be related to an extjs issue, while we have not embedded any charts.

Re: loaderPath with ExtJs 6

Posted: Thu Sep 14, 2017 1:10 pm
by Terence
In our chart scheduler example we embed it with a static file like:

<script src="../../../extjs-6.5.0/build/packages/charts/classic/charts-debug.js" crossorigin="anonymous" type="text/javascript"></script>

For dynamic loading for ext ux packages in your application, I think you will find more information on the sencha forum.

Re: loaderPath with ExtJs 6

Posted: Thu Sep 21, 2017 11:15 am
by Damo
I'm using 6.2 there's no all file to achieve this with.

The issue is we are able to config the Ext.loader using the loaderPath config however I believe that bascially says to the loader, the charts package src directly is charts/src whereas in reality some of the code is within charts/classic/src therefore it cannot correctly load certain files.

With this in mind I don't see how your product works at all for dynamically loading only the required files for a required test using the loader, this is worked out using cmd which updates the bootstrap appropriate. I guess the solution would be to be more explict about the location of certain files to prevent 404's but I don't see this as a scalable/maintainable solution.

Re: loaderPath with ExtJs 6

Posted: Thu Sep 21, 2017 11:36 am
by Terence
Let's be clear about this.
With this in mind I don't see how your product works at all for dynamically loading only the required files for a required test using the loader, this is worked out using cmd which updates the bootstrap appropriate.
The Chart is not part of our product, it is an ExtJs package. If you require it correctly the files will be loaded.

I guess you can find more information in this guide.

https://docs.sencha.com/extjs/6.2.0/gui ... rting.html

Re: loaderPath with ExtJs 6

Posted: Mon Sep 25, 2017 11:06 am
by nickolay
Did you manage to resolve this issue?

Re: loaderPath with ExtJs 6

Posted: Mon Sep 25, 2017 11:34 am
by Damo
I did in the end Nickolay, turned out the charts.js file was not in the build folder due to sencha cmd creates a workspace, it only copies across from the sdk location it believes you need e.g. slimed down build folder, no examples etc

I guess the point I was making though is still relevant, if I have an application and parts of it are split between modern and classic (a sencha example would be to load Ext.chart.legend.Legend, Ext.chart.legend.LegendBase is in either modern of classic and it's cmd that works that out), how would it be possible to dynamically load only the correct files for the given test. As of now configuring the loader is a one to one location, I appreciate that this is "not your product" however you are selling a product which is meant to tightly work with Sencha and this is just a flat out limitation

Re: loaderPath with ExtJs 6

Posted: Mon Sep 25, 2017 11:44 am
by nickolay
Ok, can we narrow down the problem? Is it that "loaderPath" config should be dynamic, based on some condition?

The other way to solve this issue would be to load the main "index.html" file of the application, with certain flag in the URL, then checking for this flag during app initialization and stopping the launch if the flag is found. In this way, dynamic loader will be configured exactly the same way as it would be in the app. Details here: https://www.bryntum.com/blog/testing-an ... encha-cmd/

Re: loaderPath with ExtJs 6

Posted: Mon Sep 25, 2017 11:59 am
by Damo
I've have looked at that blog post as a possible solution so will investigate it more, maybe better if I provide you with an example setup over email so I can better explain what I "would like", if it's even at all possible.

Re: loaderPath with ExtJs 6

Posted: Mon Sep 25, 2017 12:08 pm
by nickolay
If your setup does not contain confidential information we can just continue this thread. Otherwise my email - nickolay@bryntum.com