1. #1
    Sencha User
    Join Date
    Mar 2008
    Posts
    53
    Vote Rating
    2
    manilodisan is on a distinguished road

      0  

    Default form.loadRecord seems to have stopped working after upgrading to 4.2.1

    form.loadRecord seems to have stopped working after upgrading to 4.2.1


    I've upgraded my project from 4.0.7 to latest: 4.2.1 and I noticed all my forms stopped loading the record. If I open an update form on some user the form remains blank where in 4.0.7 works.

    I'm using:
    HTML Code:
    var form = Ext.create('Ext.form.Panel', {
        .......
    
    
    form.on("render", function(form) {    form.loadRecord(win.record);}, this);

    A console.log on the record itself returns:

    Code:
    constructor {raw: Object, modified: Object, data: Object, hasListeners: HasListeners, events: Object…}
    data: Object
        active: 1
        date_added: Sun Aug 04 2013 19:32:40 GMT+0300 (EEST)
        email: "xxxxxxxxxx@gmail.com"
        id: 1636
        username: "xxxxxxxx"
    __proto__: Object
    events: Object
    hasListeners: HasListeners
    id: "AP.model.User-1636"
    index: 1
    internalId: 1636
    modified: Object
    phantom: false
    raw: Object
    store: constructor
    stores: Array[1]
    __proto__: Object
    I can see the data holding the right values but I don't know why isn't the record loaded in the form. I know I can use the url param on the form itself and load the record but I prefer knowing if something changed in the way one should use loadRecord on a form.

    Much appreciated

  2. #2
    Sencha User carol.ext's Avatar
    Join Date
    Jun 2007
    Location
    Littleton, Colorado, USA
    Posts
    673
    Vote Rating
    20
    carol.ext will become famous soon enough carol.ext will become famous soon enough

      2  

    Default


    There are some comments in the Ext.form.Basic.loadRecord documentation that seem relevant. They both have suggested solutions. I looked at the source code from 4.0.7 and 4.2.1 documentation links and see the change mentioned below.

    I didn't try either of these solutions.

    Attention! In Ext 4.1.3, loadRecord function looked like this: return this.setValues(record.data); which allows us to pass an object built from the server with no Ext.data.model associated with to fill the form.

    But now, loadRecord function is: return this.setValues(record.getData()); so we have to pass a record that is a Ext.data.Model and it doesn't work anymore with an object having a "data" property...poor it was so useful when you aren't be able to build a data model manually cause of too complex structure...

    Edit: If myObject is an object with a property "data" that is an array containing the list of key/pair values You can use .getForm().setValues(myObject); but the setValues function doesn't set the private "_record" property of the form. So when you call .getForm().getRecord() it will return undefined...

    Workaround: You have to add a function to "myObject": myObject.getData = function (){ return this.data; }

    and like so, you can now call .getForm().loadRecord(myObject); It seems to work again like 4.1.3
    Reply to first comment :
    You are right. In 4.2 edition, when we use "loadRecord(data)" function, ExtJS throwing an error message "getData is not a function". Instead of "loadRecord", when we use "setValues(data)" working properly!
    Last edited by carol.ext; 25 Sep 2013 at 10:02 AM. Reason: Could not see where the second comment started

Thread Participants: 1

Tags for this Thread

Turkiyenin en sevilen filmlerinin yer aldigi xnxx internet sitemiz olan ve porn sex tarzi bir site olan mobil porno izle sitemiz gercekten dillere destan bir durumda herkesin sevdigi bir site olarak tarihe gececege benziyor. Sitenin en belirgin ozelliklerinden birisi de Turkiyede gercekten kaliteli ve muntazam, duzenli porno izle siteleri olmamasidir. Bu yuzden iste. Ayrica en net goruntu kalitesine sahip adresinde yayinlanmaktadir. Mesela diğer sitelerimizden bahsedecek olursak, en iyi hd porno video arşivine sahip bir siteyiz. "The Best anal porn videos and slut anus, big asses movies set..." hd porno faketaxi