Update: With thanks from Roan IRL I worked out the above problem - it
was due to not calling the parent initialize function. I made a few
more tweaks and now I have a patch which moves MobileFrontend to using
OOJS Class system.

This is a big change that effects our entire stack with a bunch of
dependencies and potential merge conflicts. Your help moving towards
this would be much appreciated.

The following 5 patches need review in this order:

Move MobileFrontend to using OO.EventEmitter:
https://gerrit.wikimedia.org/r/129336

Kill use of super in MobileFrontend:
https://gerrit.wikimedia.org/r/159552
https://gerrit.wikimedia.org/r/159555

Switch to using OO.inheritClass:
https://gerrit.wikimedia.org/r/159553

After this is done it would be good to sit down and document ways we
can make better use of OOJS in mobile.


On Tue, Sep 9, 2014 at 4:47 PM, Jon Robson <[email protected]> wrote:
> Update: Roan's patch got merged but Max identified an issue with it in
> MobileFrontend which is stopping us switching over to use it in
> MobileFrontend [1]
>
> It seems to be related to an event that we use called 'progress' that
> we use in our api handler.
>
> You can replicate it by trying to do a wikitext edit in the stable
> mode of the mobile site with the above patch.
>
> Uncaught TypeError: Cannot use 'in' operator to search for 'progress'
> in undefined 
> load.php?debug=false&lang=en&modules=ext.mantle%7Cext.mantle.hogan%2Cmodules%2Coo%2Ctemplates%7Cjqu…:68oo.EventEmitter.emit
> load.php?debug=false&lang=en&modules=ext.mantle%7Cext.mantle.hogan%2Cmodules%2Coo%2Ctemplates%7Cjqu…:68(anonymous
> function)
>
> Not sure if this is an issue with OOJS or the patch Roan made for us.
> Any ideas VE guys?
>
> [1] https://gerrit.wikimedia.org/r/#/c/129336/
>
>
> On Fri, Aug 22, 2014 at 11:36 AM, Jon Robson <[email protected]> wrote:
>> Shahyar, Juliusz, Trevor, Roan and I met to discuss using oojs inside
>> the mobile and Flow projects.
>>
>> The following 3 patches kicks off moving MobileFrontend's class model
>> towards that of oojs - many thanks for Roan for doing most of the
>> legwork :-):
>> https://gerrit.wikimedia.org/r/155593
>> https://gerrit.wikimedia.org/r/155589
>> https://gerrit.wikimedia.org/r/129336
>>
>> On the long term we'd look to swap out the Class.js and
>> eventemitter.js files in MobileFrontend for oojs, but this is going to
>> be tricky and require some care, possibly mixing both oojs and
>> MobileFrontend's class code in the repository at the same time. e.g.
>> increasing JavaScript on the short term, but reducing it on the
>> longterm. The MobileFrontend core development team will need to work
>> out how best to manage this transition.
>>
>> Since Flow is very DOM-focused, as opposed to many smaller JavaScript
>> modules with element management per the currently-accepted use of
>> OOjs, it is unclear how we may go about integrating with OOjs fully.
>> However, some potential use cases have been identified as candidates
>> for implementing OOjs on an interim basis, primarily by abstracting
>> some current FlowBoardComponent workflows, such as those which handle
>> (re-)rendering of existing and new content fetched from the API.

_______________________________________________
EE mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/ee

Reply via email to