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

    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 - Architect Dev Team aconran's Avatar
    Join Date
    Mar 2007
    Posts
    9,445
    Vote Rating
    129
    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
    Sencha Architect Development Team

  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 - Architect Dev Team aconran's Avatar
    Join Date
    Mar 2007
    Posts
    9,445
    Vote Rating
    129
    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
    Sencha Architect Development Team

  5. #5
    Touch Premium Member JoelRSimpson's Avatar
    Join Date
    Jun 2009
    Location
    Seattle, WA USA
    Posts
    52
    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