1
votes

I have two stores: localstorage and a json on the server, I'm trying to download data from json to the local. Please see what's wrong:

/store/Notes.js

Ext.define("NotesApp.store.Notes", {
    extend: "Ext.data.Store",
    requires: "Ext.data.proxy.LocalStorage",
    config: {
        storeId: 'Notes',
        model: "NotesApp.model.Note",
        proxy: {
            type: 'localstorage',
            id: 'notes-app-store'
        },
        sorters: [{
            property: 'dateCreated',
            direction: 'DESC'
        }],
        grouper: {
            sortProperty: "dateCreated",
            direction: "DESC",
            groupFn: function (record) {

                if (record && record.data.dateCreated) {
                    return record.data.dateCreated.toDateString();
                } else {
                    return '';
                }
            }
        }
    }
});

/store/Online.js

Ext.define("NotesApp.store.Online", { extend: "Ext.data.Store", config: {

       storeId: 'Online',
       proxy: {
           type: 'jsonp',
           url: 'http://server.com/made/qa.php',
           reader: {
               type: 'json'
               //rootProperty: 'results'
           }
       },
       autoLoad: false,
       listeners: {
           load: function() {   
                console.log("updating");
               // Clear proxy from offline store
               Ext.getStore('Notes').proxy.clear();
               console.log("updating1");
               // Loop through records and fill the offline store
               this.each(function(record) {
                         console.log("updating2");
                         Ext.getStore('Notes').add(record.data);

               });

               // Sync the offline store
               Ext.getStore('Notes').sync();
               console.log("updating3");
               // Remove data from online store
               this.removeAll();
                console.log("updated");
           }

       },
       fields: [
                {
                name: 'id'
                },
                {
                name: 'date_created'
                },
                {
                name: 'question'
                },
                {
                name: 'answer'
                },
                {
                name: 'type'                    
                },
                {
                name: 'author'
                }
                ]
       } });

When I need to update I called Ext.getStore('Online').load();

But the console is not showing anything else after 'updating'.

I wonder what went wrong?

1

1 Answers

2
votes

Use Ext.getStore('Notes').getProxy().clear() instead works