Hmm. I'm just now catching up on this thread. Are we sure this 'globalID' proposal is the right one? What happened to Piotr's concern that 3rd party libraries might recommend setting the 'id' property. Or similarly, that some CSS theme is expecting you to set 'id'. I'd be worried we'd be constantly having to tell folks to use the 'globalID' property.
There might be other options: Maybe there is some directive that you use in an MXML file that doesn't result in code that sets the id property on the object. How often do folks have more than one instance of an MXML class in the DOM at one time? I think mainly in item renderers? I have no idea how to execute on the compiler detecting multiple uses of id. I don't think the compiler knows that a class in a SWC was generated from MXML and sets the id property. Or that someone set id from an ActionScript class. I think someone could write a bead that watches for multiple setting of the 'id' property. I'm not sure the "backward compatibility" of the 'id' property should win out over the mapping of 'id' to the actual 'id' in the DOM. Regular Flex supported 'id' selectors. How would that work in the 'globalID' proposal? If 'id' doesn't get set then someone's old code that used an 'id' selector will not work. They will have to modify their code to use globalID instead. So, I think the factors are: 1) There are existing CSS files for Flex that use ID selectors. 2) There are existing CSS files for JS libraries and themes that use ID selectors 3) The MXML item renderers might use IDs resulting in more than one instance with the same ID in the DOM, and also multiple pairs of IDs if you make up IDs based on parent + child. Anyway, are folks thinking we need to do something about this for this release? I'd rather not delay the release for this only to find out we missed out on some ramification. Thoughts? -Alex On 5/22/17, 4:47 PM, "Harbs" <harbs.li...@gmail.com> wrote: >+1 > >> On May 22, 2017, at 3:13 PM, Josh Tynjala <joshtynj...@gmail.com> wrote: >> >> Yes, with my proposal, globalID would be translated to HTML. With id, it >> would go back to the classic behavior of adding a member variable to the >> class only and not being translated to a global HTML id. >> >> This change would indeed break existing FlexJS applications that used >>the >> HTML id in some way (like in CSS). However, we're pre-1.0, so breaking >> changes are still to be expected while we smooth things over. I would >> rather fix id to put it back to the original behavior of affecting the >> current class only than add a workaround like localID/mxmlID for the >>fact >> that id was overloaded to mean something at the global-level too. >> >> - Josh >> >> >> On Mon, May 22, 2017 at 11:37 AM, piotrz <piotrzarzyck...@gmail.com> >>wrote: >> >>> Hi Alex, >>> >>> I was going to expand my thoughts on same concerns what Chris mention. >>>If >>> we >>> introduce "localId" which will be responsible for identifying >>>components in >>> MXML we need to also generate "id" - based on those "localId" - cause >>>in >>> many cases "id" will be required in HTML once we set "localId". >>> >>> Some external library may require those "id". >>> >>> Summarize a bit we have so far following ideas: >>> 1) Introduce "localId" or "mxmlId" as entity which is not translated to >>> HTML >>> 2) Introduce "globalId" which will be translated to HTML, but "id" not >>> necessary (Josh Am I understand you right ?) - But that would break >>> existing >>> applications, cause we have right now "id" translation to HTML. >>> >>> Related to introduced new property: >>> 1) Have the compiler check that HTML ids are not used more than once. >>> (Harbs >>> - Globally ?, If id is used more than once in many views ?) >>> 2) Ability set HTML ids (Harbs I need a bit more elaboration on this, >>> cause >>> I do not fully understand) >>> 3) "id" should be generated based on "localId" or make generation >>>based on >>> Chris's suggestions (Piotr, Chris) >>> >>> If I miss something or didn't understand enough please correct me. >>> >>> Thanks for a good discussion on that! >>> Piotr >>> >>> >>> >>> >>> ----- >>> Apache Flex PMC >>> piotrzarzyck...@gmail.com >>> -- >>> View this message in context: http://apache-flex- >>> development.2333347.n4.nabble.com/FlexJS-MXML-ids-and- >>> classNames-tp54361p61745.html >>> Sent from the Apache Flex Development mailing list archive at >>>Nabble.com. >>> >