I see.  There probably isn't one right way, so some beads might apply styles in 
other ways.  I was thinking it might be more discoverable for a version of 
DisabledBeads to also use Type Selectors.  Otherwise, debugging collisions in 
the use of, say, opacity, by more than one bead will be a pain to debug.

My 2 cents,
-Alex

On 6/4/18, 1:31 PM, "Harbs" <harbs.li...@gmail.com> wrote:

    The closest example that we have is probably DisabledBead and 
DisabledAlphaBead. The DisabledAlphaBead applies styling (i.e. an alpha) when 
the DisabledBead disables a component.
    
    I was suggesting that there could be a UnselectableAppearance bead which 
gets applied together with the UnselectableBead and could apply CSS properties. 
That would free the user from having to know which selectors are used.
    
    Harbs
    
    > On Jun 4, 2018, at 7:24 PM, Alex Harui <aha...@adobe.com.INVALID> wrote:
    > 
    > I think it is too early Monday for me.  I don't understand what you mean 
by "styling could also be a bead".  How would folks discover the selector?
    > 
    > Thanks,
    > -Alex
    > 
    > On 6/4/18, 9:16 AM, "Harbs" <harbs.li...@gmail.com> wrote:
    > 
    >    Fair enough.
    > 
    >    Of course the styling could also be a bead…
    > 
    >> On Jun 4, 2018, at 7:14 PM, Alex Harui <aha...@adobe.com.INVALID> wrote:
    >> 
    >> IMO, it is easier for folks to know that there is a selector to override 
or add styles to if it is in one of our .css files instead of buried in code.
    >> 
    >> My 2 cents,
    >> -Alex
    >> 
    >> On 6/4/18, 9:11 AM, "Harbs" <harbs.li...@gmail.com 
<mailto:harbs.li...@gmail.com>> wrote:
    >> 
    >>> I don't know why someone would want to override unselectable styles, 
but the first idea that popped into my head was a different background color so 
folks knew not to even bother to select text in the unselectable controls.  
Another possibility is that there are other styles that may be needed someday 
that control how screen readers deal with unselectable controls.
    >> 
    >>   Ah. You mean add additional styles. There’s no reason they couldn’t 
add an additional .unselectable selector with styling elsewhere in the CSS. I 
could go either way on this. If folks feel strongly it should be a “proper” 
selector, I’ll do that.
    >> 
    >>   Thanks,
    >>   Harbs
    >> 
    >>> On Jun 4, 2018, at 7:07 PM, Alex Harui <aha...@adobe.com.INVALID> wrote:
    >>> 
    >>> Feel free to change the name of the bead so that the Type Selector name 
looks "better".  I think we agreed to drop the "Bead" portion of names going 
forward.
    >>> 
    >>> If you are absolutely sure nobody will ever need to override what is in 
that selector, then I'm fine with injecting it with code and using the new 
utility function you created, but otherwise, I would hope we try to write the 
framework without injecting styles with code.  Having overrideable selectors 
should be the recommended practice for a framework.  We want everything to be 
override-able.
    >>> 
    >>> I don't know why someone would want to override unselectable styles, 
but the first idea that popped into my head was a different background color so 
folks knew not to even bother to select text in the unselectable controls.  
Another possibility is that there are other styles that may be needed someday 
that control how screen readers deal with unselectable controls.
    >>> 
    >>> My 2 cents,
    >>> -Alex
    >>> 
    >>> On 6/4/18, 8:48 AM, "Harbs" <harbs.li...@gmail.com 
<mailto:harbs.li...@gmail.com> <mailto:harbs.li...@gmail.com 
<mailto:harbs.li...@gmail.com>>> wrote:
    >>> 
    >>>  That would probably work. I’m not totally happy with that selector 
name.
    >>> 
    >>>  I can switch the implementation if you think that’s better. I’m not 
sure why a user would override an “unelectable” style though.
    >>> 
    >>>  Harbs
    >>> 
    >>>> On Jun 4, 2018, at 6:45 PM, Alex Harui <aha...@adobe.com.INVALID 
<mailto:aha...@adobe.com.INVALID>> wrote:
    >>>> 
    >>>> Hi Harbs,
    >>>> 
    >>>> My suggestion for adding the selector is to make the selector look 
like a Type/Element Selector with the name "UnselectableElementBead".  If you 
do that, then wouldn't that selector be dropped out if nobody is using 
UnselectableElementBead?
    >>>> 
    >>>> I would hope we could find a solution that doesn't result in code 
injecting styles as that sort of screws up users overriding those styles.
    >>>> 
    >>>> My 2 cents,
    >>>> -Alex
    >>>> 
    >>>> On 6/4/18, 1:14 AM, "Harbs" <harbs.li...@gmail.com 
<mailto:harbs.li...@gmail.com> <mailto:harbs.li...@gmail.com 
<mailto:harbs.li...@gmail.com>> <mailto:harbs.li...@gmail.com 
<mailto:harbs.li...@gmail.com> <mailto:harbs.li...@gmail.com 
<mailto:harbs.li...@gmail.com>>>> wrote:
    >>>> 
    >>>> It does add the style to the class list.
    >>>> 
    >>>> The only question is how to add the selector to the CSS.
    >>>> 
    >>>> Thanks,
    >>>> Harbs
    >>>> 
    >>>>> On Jun 4, 2018, at 10:24 AM, Carlos Rovira <carlosrov...@apache.org 
<mailto:carlosrov...@apache.org> <mailto:carlosrov...@apache.org 
<mailto:carlosrov...@apache.org>>> wrote:
    >>>>> 
    >>>>> Hi,
    >>>>> 
    >>>>> I think as Alex that better way for this is the bead add the css 
style to
    >>>>> classList.
    >>>>> 
    >>>>> thanks
    >>>>> 
    >>>>> 2018-06-04 6:33 GMT+02:00 Alex Harui <aha...@adobe.com.invalid 
<mailto:aha...@adobe.com.invalid> <mailto:aha...@adobe.com.invalid 
<mailto:aha...@adobe.com.invalid>>>:
    >>>>> 
    >>>>>> IMO, the better fix would be to just rename the selector in 
defaults.css
    >>>>>> to be UnselectableElementBead and have UnselectableElementBead add
    >>>>>> "UnselectableElementBead" to the classList.
    >>>>>> 
    >>>>>> Or am I not understanding what this does?
    >>>>>> 
    >>>>>> -Alex
    >>>>>> 
    >>>>>> 
    >>>>>> On 6/2/18, 1:59 PM, "Harbs" <harbs.li...@gmail.com 
<mailto:harbs.li...@gmail.com> <mailto:harbs.li...@gmail.com 
<mailto:harbs.li...@gmail.com>>> wrote:
    >>>>>> 
    >>>>>> What I really wanted to do here was create some self invoking code
    >>>>>> which was run when the UnselectableElementBead class was loaded.
    >>>>>> 
    >>>>>> Is there any way of doing that without writing a static method and
    >>>>>> invoking that?
    >>>>>> 
    >>>>>> Thanks,
    >>>>>> Harbs
    >>>>>> 
    >>>>>> 
    >>>>>>> On Jun 2, 2018, at 11:39 PM, ha...@apache.org 
<mailto:ha...@apache.org> <mailto:ha...@apache.org <mailto:ha...@apache.org>> 
wrote:
    >>>>>>> 
    >>>>>>> This is an automated email from the ASF dual-hosted git repository.
    >>>>>>> 
    >>>>>>> harbs pushed a commit to branch develop
    >>>>>>> in repository https://na01.safelinks.protection.outlook.com/?url= 
<https://na01.safelinks.protection.outlook.com/?url=> 
<https://na01.safelinks.protection.outlook.com/?url= 
<https://na01.safelinks.protection.outlook.com/?url=>>
    >>>>>> https%3A%2F%2Fgitbox.apache.org 
<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2F2fgitbox.apache.org%2F&data=02%7C01%7Caharui%40adobe.com%7C38d3373fcabb4942208e08d5ca36896b%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636637257942749331&sdata=LpIwkdpYBss42ZiUf1EwM4ZBedEpLk3yOQyL93l3qDg%3D&reserved=0>
 
<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2F2fgitbox.apache.org%2F&data=02%7C01%7Caharui%40adobe.com%7Ca8de91c11d41468c153408d5ca35d05d%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636637254910818301&sdata=Xr5tZDig%2BPpAl68ui241tHM6qpGXRAA1yy0B2EBxMUA%3D&reserved=0
 
<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2F2fgitbox.apache.org%2F&data=02%7C01%7Caharui%40adobe.com%7Ca8de91c11d41468c153408d5ca35d05d%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636637254910818301&sdata=Xr5tZDig%2BPpAl68ui241tHM6qpGXRAA1yy0B2EBxMUA%3D&reserved=0>>%2Frepos%2Fasf%2Froyale-
    >>>>>> asjs.git&data=02%7C01%7Caharui%40adobe.com 
<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2F40adobe.com%2F&data=02%7C01%7Caharui%40adobe.com%7C38d3373fcabb4942208e08d5ca36896b%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636637257942749331&sdata=SkgLuvLWJ2IbvHoT%2FoT3eE3ys8yiPJpE%2ByfSqdog%2BGw%3D&reserved=0>
 
<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2F40adobe.com%2F&data=02%7C01%7Caharui%40adobe.com%7Ca8de91c11d41468c153408d5ca35d05d%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636637254910818301&sdata=uMP84RHRsCfwyCVNFU%2FAKFJ29uOPPhHegA3xId3nv2s%3D&reserved=0
 
<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2F40adobe.com%2F&data=02%7C01%7Caharui%40adobe.com%7Ca8de91c11d41468c153408d5ca35d05d%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636637254910818301&sdata=uMP84RHRsCfwyCVNFU%2FAKFJ29uOPPhHegA3xId3nv2s%3D&reserved=0>>%7C9369538a50114755520308d5c8cb
    >>>>>> b09c%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
    >>>>>> 7C636635699536531937&sdata=iPymBmOQfeD1312Szlsc6Fwc4E5GU2
    >>>>>> Kj3OwfvmWh%2Bzk%3D&reserved=0
    >>>>>>> 
    >>>>>>> 
    >>>>>>> The following commit(s) were added to refs/heads/develop by this
    >>>>>> push:
    >>>>>>> new b157ecf  Removed unselectable selector
    >>>>>>> b157ecf is described below
    >>>>>>> 
    >>>>>>> commit b157ecff5ea11ff2035e105f266b0925c1970005
    >>>>>>> Author: Harbs <ha...@in-tools.com <mailto:ha...@in-tools.com> 
<mailto:ha...@in-tools.com <mailto:ha...@in-tools.com>>>
    >>>>>>> AuthorDate: Sat Jun 2 23:39:28 2018 +0300
    >>>>>>> 
    >>>>>>> Removed unselectable selector
    >>>>>>> ---
    >>>>>>> .../projects/Basic/src/main/resources/defaults.css |  9 ---------
    >>>>>>> .../royale/html/beads/UnselectableElementBead.as   | 22
    >>>>>> ++++++++++++++++++++++
    >>>>>>> 2 files changed, 22 insertions(+), 9 deletions(-)
    >>>>>>> 
    >>>>>>> diff --git 
a/frameworks/projects/Basic/src/main/resources/defaults.css
    >>>>>> b/frameworks/projects/Basic/src/main/resources/defaults.css
    >>>>>>> index ea02120..23a324d 100644
    >>>>>>> --- a/frameworks/projects/Basic/src/main/resources/defaults.css
    >>>>>>> +++ b/frameworks/projects/Basic/src/main/resources/defaults.css
    >>>>>>> @@ -26,15 +26,6 @@
    >>>>>>> box-sizing: border-box;
    >>>>>>> }
    >>>>>>> 
    >>>>>>> -.unselectable
    >>>>>>> -{
    >>>>>>> - -moz-user-select: -moz-none;
    >>>>>>> - -khtml-user-select: none;
    >>>>>>> - -webkit-user-select: none;
    >>>>>>> - -o-user-select: none;
    >>>>>>> - user-select: none;
    >>>>>>> -}
    >>>>>>> -
    >>>>>>> Alert
    >>>>>>> {
    >>>>>>> IBeadLayout: ClassReference("org.apache.royale.html.beads.layouts.
    >>>>>> VerticalFlexLayout");
    >>>>>>> diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/
    >>>>>> royale/html/beads/UnselectableElementBead.as 
b/frameworks/projects/Basic/
    >>>>>> 
src/main/royale/org/apache/royale/html/beads/UnselectableElementBead.as
    >>>>>>> index 6697472..c80c907 100644
    >>>>>>> --- a/frameworks/projects/Basic/src/main/royale/org/apache/
    >>>>>> royale/html/beads/UnselectableElementBead.as
    >>>>>>> +++ b/frameworks/projects/Basic/src/main/royale/org/apache/
    >>>>>> royale/html/beads/UnselectableElementBead.as
    >>>>>>> @@ -34,6 +34,27 @@ package org.apache.royale.html.beads
    >>>>>>> public class UnselectableElementBead implements IBead
    >>>>>>> {
    >>>>>>>      /**
    >>>>>>> +          * @royaleignorecoercion HTMLStyleElement
    >>>>>>> +          */
    >>>>>>> +         private static function insertRule():void
    >>>>>>> +         {
    >>>>>>> +                 // only do this once...
    >>>>>>> +                 if(ruleInserted)
    >>>>>>> +                         return;
    >>>>>>> +                 ruleInserted = true;
    >>>>>>> +                 // Inject a new css selector
    >>>>>>> +                 COMPILE::JS
    >>>>>>> +                 {
    >>>>>>> +                         var style:HTMLStyleElement =
    >>>>>> document.createElement('style') as HTMLStyleElement;
    >>>>>>> +                         style.type = 'text/css';
    >>>>>>> +                         style.innerHTML = '.unselectable
    >>>>>> {-moz-user-select: none;-webkit-user-select: none;-ms-user-select:
    >>>>>> none;user-select: none;}';
    >>>>>>> +                         document.getElementsByTagName(
    >>>>>> 'head')[0].appendChild(style);
    >>>>>>> +                 }
    >>>>>>> +
    >>>>>>> +         }
    >>>>>>> +         private static var ruleInserted:Boolean;
    >>>>>>> +
    >>>>>>> +         /**
    >>>>>>>       *  constructor.
    >>>>>>>       *
    >>>>>>>       *  @langversion 3.0
    >>>>>>> @@ -57,6 +78,7 @@ package org.apache.royale.html.beads
    >>>>>>>       */
    >>>>>>>      public function set strand(value:IStrand):void
    >>>>>>>      {
    >>>>>>> +                 insertRule();
    >>>>>>>              _strand = value;
    >>>>>>> 
    >>>>>>>              COMPILE::JS
    >>>>>>> 
    >>>>>>> --
    >>>>>>> To stop receiving notification emails like this one, please contact
    >>>>>>> ha...@apache.org <mailto:ha...@apache.org> <mailto:ha...@apache.org 
<mailto:ha...@apache.org>>.
    >>>>>> 
    >>>>>> 
    >>>>>> 
    >>>>>> 
    >>>>> 
    >>>>> 
    >>>>> -- 
    >>>>> Carlos Rovira
    >>>>> 
https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C0bd6353a12104f5326d708d5c9f332c7%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636636968773528501&sdata=v8vk8mHKjoAN3D0lexy3vhXcOWVeYYc1HDouygyKoE8%3D&reserved=0
 
<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C0bd6353a12104f5326d708d5c9f332c7%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636636968773528501&sdata=v8vk8mHKjoAN3D0lexy3vhXcOWVeYYc1HDouygyKoE8%3D&reserved=0><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C0bd6353a12104f5326d708d5c9f332c7%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636636968773528501&sdata=v8vk8mHKjoAN3D0lexy3vhXcOWVeYYc1HDouygyKoE8%3D&reserved=0
 
<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C0bd6353a12104f5326d708d5c9f332c7%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636636968773528501&sdata=v8vk8mHKjoAN3D0lexy3vhXcOWVeYYc1HDouygyKoE8%3D&reserved=0>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C0bd6353a12104f5326d708d5c9f332c7%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636636968773528501&sdata=v8vk8mHKjoAN3D0lexy3vhXcOWVeYYc1HDouygyKoE8%3D&reserved=0
 
<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C0bd6353a12104f5326d708d5c9f332c7%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636636968773528501&sdata=v8vk8mHKjoAN3D0lexy3vhXcOWVeYYc1HDouygyKoE8%3D&reserved=0><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C0bd6353a12104f5326d708d5c9f332c7%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636636968773528501&sdata=v8vk8mHKjoAN3D0lexy3vhXcOWVeYYc1HDouygyKoE8%3D&reserved=0
 
<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C0bd6353a12104f5326d708d5c9f332c7%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636636968773528501&sdata=v8vk8mHKjoAN3D0lexy3vhXcOWVeYYc1HDouygyKoE8%3D&reserved=0>>>
    > 
    > 
    > 
    
    

Reply via email to