The reason for .DataGridListArea is that the SWF side does not recognize a 
selector of:

DataGrid Container { ... }

So I gave the Container used for the list area a class name. Perhaps I can try 
to change it to a type name and see if that's more helpful and if so look at 
replacing as many specialty class names with type selectors. 

Peter 


> On May 15, 2017, at 11:46 AM, Alex Harui <aha...@adobe.com.INVALID> wrote:
> 
> Hi,
> 
> While waiting for more folks to examine the release branch packages, I try
> find time to find easy ways to make HelloWorld smaller.  Currently, it is
> 62K of minified JS.  IMO, that's too big!
> 
> I think I can get some classes to drop away via more
> @flexjsignorecoercions.  The list of interfaces in the output is pretty
> large and I'll bet most are not needed at runtime.
> 
> But another sore spot for me is the CSS output.  This is true even for
> regular Flex:  the CSS output contains EVERY class selector.  The compiler
> knows how to prune out unused type selectors, but it always keeps every
> class selector.  IOW, if you look at the CSS and see ".DataGridListArea",
> that's a class selector.  But if you see "DataGrid" (no starting '.')
> that’s a type selector and for HelloWorld, which has just a Label, the
> DataGrid type selector is not in the output and any dependencies it brings
> it are not in the output either.
> 
> But in HelloWorld today, ".DataGridListArea" is in the output for
> HelloWorld.  In looking at the compiler code, we could somehow mark our
> class selectors in a way that they will be removed if the type related to
> the name isn't in the output.  IOW, we need to know to keep class
> selectors like ".myClassSelector", but know to get rid of
> .DataGridListArea if DataGrid is not in the output.
> 
> I've worked around this in the past by creating new classes.  In this
> case, if .DataGridListArea is applied to a Group, then make a subclass of
> Group called DataGridListArea and change the class selector to a type
> selector.  The problem is that the definition of the DataGridListArea
> class takes up room in the output, so it would be slightly better to find
> a way to prune class selectors.
> 
> Maybe class selectors we want to prune should start with the type name
> surrounded by '$", so .$DataGrid$ListArea.  Then the compiler could easily
> check for two '$' and see if the class in-between is being kept in the
> output or not.
> 
> Thoughts?
> -Alex
> 

Reply via email to