1. #1
    Ext JS Premium Member
    Join Date
    Apr 2011
    Location
    London, UK
    Posts
    32
    Vote Rating
    1
    markofsine is on a distinguished road

      0  

    Default Designer overrides

    Environment : ExtJs 4.0.x

    The new designer override functionality does not allow for the following properties:

    extend - Is ignored
    requires - Is ignored

    mixins - Breaks
    Error : me.mixins.observable is undefined

    These are all fundamental properties that give the ExtJs framework all it's power. One of the many reasons companies use the framework is for the OO standardization that is brings as an enhancement to raw javascript development.

    I am not sure what other properties are not catered for correctly but as it stands the overrides pattern is stunted and does not allow for a full replacement of the standard OO base-class => child class extension methodology.

    With the current release I am seriously struggling to fit the designer into my development workflow and the number of work-arounds is becoming tedious.

  2. #2
    Sencha User aconran's Avatar
    Join Date
    Mar 2007
    Posts
    9,485
    Vote Rating
    135
    aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold

      0  

    Default

    We are aware of the mixins problem. The problem is it will override all mixins, it does not merge the mixins together. So you've removed the observable mixin when you specified your own mixins.

    Put the requires statement at the top with the other requires and this should work.

    extend will not be supported.
    Aaron Conran
    @aconran

  3. #3
    Ext JS Premium Member
    Join Date
    Apr 2011
    Location
    London, UK
    Posts
    32
    Vote Rating
    1
    markofsine is on a distinguished road

      0  

    Default

    If extend is not going to be supported how will classic OO inheritance be catered for?

  4. #4
    Sencha User aconran's Avatar
    Join Date
    Mar 2007
    Posts
    9,485
    Vote Rating
    135
    aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold aconran is a splendid one to behold

      0  

    Default

    You subclass whatever component you dragged out. If you dragged out a Grid, you are going to subclass Ext.grid.Panel. You cannot just arbitrarily change what it is extending.

    I understand that your wish is to subclass something like MyApp.ux.MyCustomGrid. This will be possible once 3rd party user extensions are in (because you will be dragging your custom grid out).
    Aaron Conran
    @aconran

  5. #5
    Touch Premium Member JoelRSimpson's Avatar
    Join Date
    Jun 2009
    Location
    Seattle, WA USA
    Posts
    53
    Vote Rating
    1
    JoelRSimpson is on a distinguished road

      0  

    Default

    Is there anyway to add mixins via the override? My code works if simply add the following to the generated class.
    Code:
        
    mixins: {        dragSelector: 'Ext.ux.DataView.DragSelector',
            draggable   : 'Ext.ux.DataView.Draggable'
        },
    ... but I've been unable to find a way to add those via the override class.

Thread Participants: 2