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.
>>> 
>

Reply via email to