I also don’t know that abstracting this too much is a good thing. It’s a fair trade-off to require declaring external dependencies. It also allows for controlling where the dependencies are coming from, versioning, etc.
To me the pattern should be something like this: 1. Add a preloader bead to the app. 2. Declare a list of dependencies for the preloader (which can control where these dependencies are loaded from). In the case of something like MaterialIconType.SEARCH, I don’t think the MaterialIconType class should be included in the final app at all if all that’s used is some constants. I hope we eventually optimize away all constants in the compiler. Harbs > On Jun 27, 2019, at 10:29 AM, Alex Harui <[email protected]> wrote: > > I'm pretty sure in related threads I mentioned that a preloader is needed. > > -Alex > > On 6/26/19, 8:16 AM, "Carlos Rovira" <[email protected]> wrote: > > Thanks Spiros, > > My real problem is the following. I'm trying to improve Modules. I found > that inject_html don't work with modules, Inject_html is processed by > compiler. To solve in an easy way I'm trying to load CSS and JS with > javascript appending to head. > > When I load the module and I use a class that needs to attach some JS, I > want to run a function like "loadJavascript" > > I created as well "loadCSS" (still not commited). > > The real use case I'm trying is to use MaterialIconType, that was using > inject_html. I removed the inject_html directive, > then added > > > loadCSS('https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Ffonts.googleapis.com%2Ficon%3Ffamily%3DMaterial%2BIcons&data=02%7C01%7Caharui%40adobe.com%7C25b97d52ac98496b4e9a08d6fa49476e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636971590001069684&sdata=5KVxS4gVhXKdEWWOyG3xmHXTPKNV70OPkE7bCZsYn0g%3D&reserved=0'); > > in the constructor > > then in my real module I want just to use as always > > <js:FontIcon text="{MaterialIconType.SEARCH}" material="true"/> > > accesing this way does not run the constructor, so the loadCSS code does > not run :( > > > We have hundreds of public static vars like > > public static const SEARCH:String = 'search'; > > So I think the current way you propose, although valid, will not be the > best here, since will means lots of lines of code. > > But thanks for your suggestion > > Hope others could give as well some ideas on how to solve this > > thanks > > > > El mié., 26 jun. 2019 a las 17:05, spiros (<[email protected]>) escribió: > >> It is possible with static getter and seter. >> >> Maybe will help you the code below >> >> Spiros. >> >> public class Variable >> { >> >> private static var _textData:String; >> >> public static function get textData():String >> { >> if( _textData ==null) >> { >> initailizeVariable(); >> } >> return _textData; >> } >> >> public static function set textData(value:String):void >> { >> _textData = value; >> } >> >> public static function initailizeVariable():void >> { >> _textData = "The quick brown fox jump over the >> lazy dog."; >> } >> >> >> public function Variable() >> { >> } >> } >> >> >> >> >> >> -----Original Message----- >> From: Carlos Rovira [mailto:[email protected]] >> Sent: Wednesday, June 26, 2019 5:49 PM >> To: [email protected] >> Subject: Trying to run a function on a class that is not instantiated >> >> Hi, >> >> I need to run a function when I access a public static var in a class. >> Trying to run the function in the constructor seems not to work since >> there's no instance of that class. Do we have some way to do this? >> >> -- >> Carlos Rovira >> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C25b97d52ac98496b4e9a08d6fa49476e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636971590001079678&sdata=kd8i%2FuPoxvRf9f%2FLW2DSgk6yvnBdtgKtRkP%2BeRIj%2FWs%3D&reserved=0 >> >> > > -- > Carlos Rovira > > https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C25b97d52ac98496b4e9a08d6fa49476e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636971590001079678&sdata=kd8i%2FuPoxvRf9f%2FLW2DSgk6yvnBdtgKtRkP%2BeRIj%2FWs%3D&reserved=0 > >
