flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Harui <aha...@adobe.com>
Subject Re: [FLEXJS][FALCONJX] Changing JS-side CSS encoding
Date Thu, 15 Sep 2016 05:44:30 GMT
OK, pushed it, so the latest FalconJX will need the latest develop branch
of flex-asjs and branches need to be synced.

Thanks,
-Alex

On 9/14/16, 3:09 PM, "Alex Harui" <aharui@adobe.com> wrote:

>On 9/14/16, 2:31 PM, "Harbs" <harbs.lists@gmail.com> wrote:
>
>>Will this effect the CSS file generated?
>
>The JS-side outputs both a .css file and some data packed onto the
>application that is converted into data structures for calls to
>ValuesManager (via SimpleCSSValuesImpl).  The .css file won't change, it
>needs to be standard CSS.  I am proposing to change the data that is
>packed onto the application.
>
>
>>What do you mean by “hacking at runtime”?
>
>A goal is for MXML output to be data instead of code since you can alter
>data at runtime for testing purposes and in case you need to hack in a fix
>for something.
>
>Right now, the data is just a flat array of properties followed by values
>(a rough approximation is):
>
>[ "global", 3, "fontWeight", "normal", "fontSize", 10, "fontFamily",
>"Arial"];
>
>This array says create the global CSS selector, and assign it 3
>properties: fontWeight: normal, fontSize: 10, fontFamily: "Arial".
>
>Because it is an array, you can alter it before the ValuesImpl interprets
>it, swapping in mock objects or different values.
>
>The proposal is to change the data to (roughly):
>
>[ "global", function() { this.fontWeight = normal; this.fontSize = 10;
>this.fontFamily = "Arial"];
>
>This is because I couldn't find a good way to generate the function at
>runtime and it is theoretically faster to just call the function and get
>the object back instead of iterating through the array.  However, you
>can't hack the function at runtime, but you could replace it.
>
>Thanks,
>-Alex
>

Mime
View raw message