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