I'm thinking my proposal of the name globalID is better than htmlID.
Calling it globalID would allow us to use it on the SWF side too. For
instance, someone could write some kind of utility function that provides
functionality similar to document.getElementById() that works
cross-platform to return a FlexJS component.

- Josh

On May 21, 2017 8:44 AM, "Josh Tynjala" <joshtynj...@gmail.com> wrote:

The more I think about it, the more I think we should keep the semantics of
id MXML-centric. It should create a member variable on the class like it
always has, but it should not set the id on the HTML element. Instead, we
should add a separate property for the HTML element's id. Maybe htmlID,
maybe globalID.

Let's not change a core behavior of id in the MXML language. MXML id has
been established to mean something in Flex (and Feathers too!) for over a
decade. Let's not break that without a better reason. An MXML file will
mostly contain high level components, rather than wrappers for specific
HTML elements (even if there are some), so I think it's fair to expect
developers to think in a different context for MXML and understand that id
in MXML doesn't translate to id in HTML.

- Josh

On May 21, 2017 7:58 AM, "Alex Harui" <aha...@adobe.com.invalid> wrote:



On 5/21/17, 1:38 AM, "yishayw" <yishayj...@hotmail.com> wrote:

>I like the idea. Sencha follows a similar pattern as far as I remember. I
>don't like mxmlID. Everything in MXML is MXML. I would go with 'localId',
>for the one that doesn't translate to HTML, and 'id' for the one that
>does.
>Also, there's nothing preventing an AS3 class from accessing the so called
>'mxmlID'.

I don't care too much what we call this property, but I cannot think of a
scenario where someone would write 'mxmlID' from an AS3 class.  Instead, I
think you will always access the referenced object by its assigned name.
IOW:

    ---- Foo.mxml ----
    <SomeBaseClass>
        <SomeClass mxmlID="bar" someProperty="baz" />
    </SomeBaseClass>



Means that you will write "bar.someProperty".  In fact, it might be
possible for "mxmlID" or "localID" to be a pseudo-property and not
actually a property on the object.  We already do this for "includeIn" and
"excludeFrom" in states.  These properties are truly MXML-only and not
ever set on the object.

If we want to be more descriptive, we could call it "documentID" or even
"documentVariableName" or "mxmlDocumentVariableName" which is actually
what it does.

Thoughts?
-Alex

Reply via email to