Thanks for looking it over.

Merged.

> On Oct 1, 2017, at 7:07 PM, Piotr Zarzycki <piotrzarzyck...@gmail.com> wrote:
> 
> Hi Harbs,
> 
> I'm adding Royale dev list.
> 
> I just checked your changes with more complex app and apart of many
> conflicts during merge with my custom SDK I don't see any problems. Take a
> look into my comments to one of your commit. Once you do that from my sight
> is green light to merge it to develop.
> 
> I'm sorry for a long delay!
> 
> Thanks, Piotr
> 
> 
> 2017-09-26 21:01 GMT+02:00 Piotr Zarzycki <piotrzarzyck...@gmail.com 
> <mailto:piotrzarzyck...@gmail.com>>:
> 
>> Harbs,
>> 
>> Give me couple of days and I will pick up that branch and try it out. I
>> will also review those changes and give the feedback.
>> 
>> Thanks!
>> 
>> 2017-09-26 20:50 GMT+02:00 Harbs <harbs.li...@gmail.com>:
>> 
>>> I think I’m done. Any reason to not merge into develop?
>>> 
>>>> On Sep 26, 2017, at 7:01 PM, Piotr Zarzycki <piotrzarzyck...@gmail.com>
>>> wrote:
>>>> 
>>>> Harbs,
>>>> 
>>>> Please push those changes into separate branch "feature/" no matter how
>>> non
>>>> serious it look. I hope your changes will simplify things.
>>>> 
>>>> Thank you!
>>>> 
>>>> 
>>>> 2017-09-26 17:54 GMT+02:00 Harbs <harbs.li...@gmail.com>:
>>>> 
>>>>> I’m working on refactoring this.
>>>>> 
>>>>> Is there a reason for the null check in UIBase.createElement()?
>>>>> 
>>>>> Why would createElement be called if the element is already created?
>>> None
>>>>> of the subclasses have this null check.
>>>>> 
>>>>> if (element == null)
>>>>>   element = document.createElement('div') as WrappedHTMLElement;
>>>>> 
>>>>> Do you think it’s safe to remove the check?
>>>>> 
>>>>>> On Sep 26, 2017, at 6:42 PM, Alex Harui <aha...@adobe.com.INVALID>
>>>>> wrote:
>>>>>> 
>>>>>> I believe there are components where more than one HTMLElement is
>>> created
>>>>>> but only one is (and can be) assigned as "element" but all have
>>>>>> flexjs_wrapper assigned to the wrapping IUIBase.
>>>>>> 
>>>>>> If in fact no components need a separate positioner, it is fine to
>>> remove
>>>>>> it.  But if we keep it, even as a getter returning element, we have to
>>>>>> make sure our code that positions things uses positioner and not
>>> element
>>>>>> in case someone does try to override positioner some day.
>>>>>> 
>>>>>> As Peter mentioned, the original thinking was that element would be
>>> the
>>>>>> HTMLElement that defines the node in the DOM that dispatches
>>> interaction
>>>>>> events, but positioner might be some parent of the element like a Div
>>>>> used
>>>>>> to give the element appropriate visuals, chrome, accessory widgets,
>>> etc,
>>>>>> like NumericStepper, ComboBox, DateField, and maybe more sophisticated
>>>>>> components like a RichTextEditor where the "element" is a Div that
>>> gets
>>>>>> focus and holds the text lines, but is a child of a positioner Div
>>> that
>>>>>> also contains child buttons for bold/italic/underline.  Another
>>> example
>>>>>> may be VideoPlayback.  The element might be some sort of video widget
>>> but
>>>>>> the positioner might be a div that also contains child buttons for
>>>>>> stop/pause/rewind/forward.
>>>>>> 
>>>>>> Of course, I could be wrong...
>>>>>> -Alex
>>>>>> 
>>>>>> On 9/26/17, 6:27 AM, "Peter Ent" <p...@adobe.com.INVALID> wrote:
>>>>>> 
>>>>>>> @Harbs: yes on get positioner returning element. This way someone
>>> could
>>>>>>> override the getter and return something else if it suited their
>>> needs.
>>>>>>> 
>>>>>>> —peter
>>>>>>> 
>>>>>>> On 9/26/17, 9:25 AM, "Harbs" <harbs.li...@gmail.com> wrote:
>>>>>>> 
>>>>>>>> I looked at MDL and I don’t see any problem there.
>>>>>>>> 
>>>>>>>> I’m talking about simplifying things across the board. I don’t see
>>> how
>>>>> it
>>>>>>>> could effect anything.
>>>>>>>> 
>>>>>>>> @Peter I think removing positioner might not be a bad idea, but
>>> keeping
>>>>>>>> it and using it as a pointer to element is basically just as cheap.
>>>>>>>> 
>>>>>>>>> On Sep 26, 2017, at 4:12 PM, Piotr Zarzycki <
>>>>> piotrzarzyck...@gmail.com>
>>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>> Hi Harbs,
>>>>>>>>> 
>>>>>>>>> If you will do such changes like moving to set flexjs_wrapper in
>>> the
>>>>>>>>> setter
>>>>>>>>> of element - please make it on the separate branch. Let me test
>>> with
>>>>> my
>>>>>>>>> app
>>>>>>>>> whether MDL will not breaking up. I hope that we could avoid this
>>> one,
>>>>>>>>> even
>>>>>>>>> if I think that it seems to be quite reasonable to do that.
>>>>>>>>> 
>>>>>>>>> Can you for example do this only for your custom component not for
>>> the
>>>>>>>>> global IUIBase class ?
>>>>>>>>> 
>>>>>>>>> Let see what Peter say.
>>>>>>>>> 
>>>>>>>>> Thanks, Piotr
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 2017-09-26 15:02 GMT+02:00 Harbs <harbs.li...@gmail.com>:
>>>>>>>>> 
>>>>>>>>>> Yishay and I were working on drag/drop today and we were modifying
>>>>> one
>>>>>>>>>> of
>>>>>>>>>> the classes you wrote for generating the drag image.
>>>>>>>>>> 
>>>>>>>>>> The code can be simplified by using cloneNode() and stuffing the
>>>>>>>>>> results
>>>>>>>>>> into the element. The thing is, it does not work until you assign
>>> the
>>>>>>>>>> flexjs_wrapper to the element. IMO, calling the element setter
>>> should
>>>>>>>>>> do
>>>>>>>>>> that automatically.
>>>>>>>>>> 
>>>>>>>>>> On a similar note, Every IUIBase object has a positioner set. I
>>> don’t
>>>>>>>>>> know
>>>>>>>>>> of a single class which has a different positioner than the
>>> element.
>>>>>>>>>> It
>>>>>>>>>> seems to me that positioner should be a getter (which normally
>>>>> returns
>>>>>>>>>> the
>>>>>>>>>> element) that’s overridden for classes which need a different one.
>>>>>>>>>> That
>>>>>>>>>> will save memory for every IUIBase created.
>>>>>>>>>> 
>>>>>>>>>> Harbs
>>>>>>>>>> 
>>>>>>>>>>> On Sep 26, 2017, at 3:23 PM, Peter Ent <p...@adobe.com.INVALID>
>>>>>>>>>>> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> The setter for element is in HTMLElementWrapper, the super class
>>> for
>>>>>>>>>>> UIBase. The setter for flexes_wrapper is in UIBase. So if the
>>>>> element
>>>>>>>>>>> setter were to also set the flexjs_wrapper, it would have to be
>>> an
>>>>>>>>>>> override in UIBase to do it. At least that¹s how I understand it.
>>>>>>>>>>> 
>>>>>>>>>>> Could you elaborate a little more on the issue that is raising
>>> this
>>>>>>>>>>> concern?
>>>>>>>>>>> 
>>>>>>>>>>> Your question made me scan through these classes. Looking at this
>>>>>>>>>>> code
>>>>>>>>>> now
>>>>>>>>>>> makes me think we can do a better and more consistent job
>>> organizing
>>>>>>>>>>> it
>>>>>>>>>>> for Royale. After all, having code that can be quickly understood
>>>>> and
>>>>>>>>>>> modified is important.
>>>>>>>>>>> 
>>>>>>>>>>> ‹peter
>>>>>>>>>>> 
>>>>>>>>>>> On 9/26/17, 7:13 AM, "Harbs" <harbs.li...@gmail.com> wrote:
>>>>>>>>>>> 
>>>>>>>>>>>> Currently, setting the element of a IUIBase will not work
>>> correctly
>>>>>>>>>>>> because the flexjs_wrapper is not set. This makes it error prone
>>>>>>>>>>>> when
>>>>>>>>>>>> there¹s a need to work with the underlying DOM elements for HTML
>>>>>>>>>>>> output.
>>>>>>>>>>>> 
>>>>>>>>>>>> I cannot think of a reason why the wrapper should not be set
>>> when
>>>>>>>>>> calling
>>>>>>>>>>>> the element setter. Instead of setting the flexjs_wrapper in
>>>>>>>>>>>> createElement(), it seems to me that it should be set in the
>>>>> element
>>>>>>>>>>>> setter in HTMLElementWrapper.
>>>>>>>>>>>> 
>>>>>>>>>>>> Anyone have a reason not to do this?
>>>>>>>>>>>> 
>>>>>>>>>>>> Harbs
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> --
>>>>>>>>> 
>>>>>>>>> Piotr Zarzycki
>>>>>>>>> 
>>>>>>>>> mobile: +48 880 859 557
>>>>>>>>> skype: zarzycki10
>>>>>>>>> 
>>>>>>>>> LinkedIn:
>>>>>>>>> https://na01.safelinks.protection.outlook.com/?url=
>>>>> http%3A%2F%2Fwww.link
>>>>>>>>> e
>>>>>>>>> din.com%2Fpiotrzarzycki&data=02%7C01%7C%
>>>>> 7C6716901213624a0e804708d504e203
>>>>>>>>> 9
>>>>>>>>> f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
>>>>> 7C636420291136295544&sdata=
>>>>>>>>> f
>>>>>>>>> Q1CjLGkCpNKxSQBmZn%2BnKZEplQpGl25XACOqq0gO2o%3D&reserved=0
>>>>>>>>> 
>>>>>>>>> <https://na01.safelinks.protection.outlook.com/?url=
>>>>> https%3A%2F%2Fpl.lin
>>>>>>>>> k
>>>>>>>>> edin.com%2Fin%2Fpiotr-zarzycki-92a53552&data=02%
>>>>> 7C01%7C%7C6716901213624a
>>>>>>>>> 0
>>>>>>>>> e804708d504e2039f%7Cfa7b1b5a7b34438794aed2c178de
>>>>> cee1%7C0%7C0%7C636420291
>>>>>>>>> 1
>>>>>>>>> 36295544&sdata=LzIej2n6WVnm9AG1Hi4NqIZjOQS%
>>>>> 2Byo4w%2BPYTX0Rq8Gc%3D&reserv
>>>>>>>>> e
>>>>>>>>> d=0>
>>>>>>>>> 
>>>>>>>>> GitHub:
>>>>>>>>> https://na01.safelinks.protection.outlook.com/?url=
>>>>> https%3A%2F%2Fgithub.
>>>>>>>>> c
>>>>>>>>> om%2Fpiotrzarzycki21&data=02%7C01%7C%7C6716901213624a0e80470
>>> 8d504e2
>>>>> 039f%
>>>>>>>>> 7
>>>>>>>>> Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
>>>>> 7C636420291136295544&sdata=WeI
>>>>>>>>> l
>>>>>>>>> LzVsJzRKniD1r9F2xb%2BwljhCLHnurBnl03kBM9E%3D&reserved=0
>>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>> 
>>>> 
>>>> --
>>>> 
>>>> Piotr Zarzycki
>>>> 
>>>> mobile: +48 880 859 557 <+48%20880%20859%20557>
>>>> skype: zarzycki10
>>>> 
>>>> LinkedIn: http://www.linkedin.com/piotrzarzycki 
>>>> <http://www.linkedin.com/piotrzarzycki>
>>>> <https://pl.linkedin.com/in/piotr-zarzycki-92a53552 
>>>> <https://pl.linkedin.com/in/piotr-zarzycki-92a53552>>
>>>> 
>>>> GitHub: https://github.com/piotrzarzycki21 
>>>> <https://github.com/piotrzarzycki21>
>>> 
>>> 
>> 
>> 
>> --
>> 
>> Piotr Zarzycki
>> 
>> mobile: +48 880 859 557 <+48%20880%20859%20557>
>> skype: zarzycki10
>> 
>> LinkedIn: http://www.linkedin.com/piotrzarzycki 
>> <http://www.linkedin.com/piotrzarzycki>
>> <https://pl.linkedin.com/in/piotr-zarzycki-92a53552 
>> <https://pl.linkedin.com/in/piotr-zarzycki-92a53552>>
>> 
>> GitHub: https://github.com/piotrzarzycki21 
>> <https://github.com/piotrzarzycki21>
>> 
> 
> 
> 
> -- 
> 
> Piotr Zarzycki
> 
> mobile: +48 880 859 557
> skype: zarzycki10
> 
> LinkedIn: http://www.linkedin.com/piotrzarzycki 
> <http://www.linkedin.com/piotrzarzycki>
> <https://pl.linkedin.com/in/piotr-zarzycki-92a53552 
> <https://pl.linkedin.com/in/piotr-zarzycki-92a53552>>
> 
> GitHub: https://github.com/piotrzarzycki21 
> <https://github.com/piotrzarzycki21>

Reply via email to