views:

466

answers:

3

Hi all,

I'm pretty sure this a trivial problem and i'm just being a bit stupid. Your help would be hugely appreciated.

In controls/dashboard.js I have:

    Ext.ill.WCSS.controls.dashboard = {
        xtype:'portal',
        region:'center',
        margins:'35 5 5 0',
        items:[{
            columnWidth: 1,
            style:'padding:10px',
            items:[{
                title: 'My Cluster Jobs',
                layout:'fit',
                html: "test"
            }]
        },{
            columnWidth: 1,
            style:'padding:10px',
            items:[{
                title: 'All Cluster Jobs',
                iconCls: 'icon-queue',
                html: "test",
                items: new Ext.grid.GridPanel({
                        title: 'Cluster Job Queue',
                        store: Ext.ill.WCSS.stores.dashboardClusterJobs,
                        width: 791,
                        height: 333,
                        frame: true,
                        loadMask: true,
                        stateful: false,
                        autoHeight: true,
                        stripeRows: true,
                        floating: false,
                        footer: false,
                        collapsible: false,
                        animCollapse: false,
                        titleCollapse: false,
                        columns:[
                                {
                                    xtype: 'gridcolumn',
                                    header: 'Job ID',
                                    sortable: true,
                                    resizable: true,
                                    width: 100,
                                    dataIndex: 'JB_job_number',
                                    fixed: false
                                },
                                {
                                    xtype: 'gridcolumn',
                                    header: 'Priority',
                                    sortable: true,
                                    resizable: true,
                                    width: 100,
                                    dataIndex: 'JAT_prio',
                                    fixed: false
                                },
                                {
                                    xtype: 'gridcolumn',
                                    header: 'User',
                                    sortable: true,
                                    resizable: true,
                                    width: 100,
                                    dataIndex: 'JB_owner'
                                },
                                {
                                    xtype: 'gridcolumn',
                                    header: 'State',
                                    sortable: true,
                                    resizable: true,
                                    width: 100,
                                    dataIndex: 'state'
                                },
                                {
                                    xtype: 'gridcolumn',
                                    header: 'Date Submitted',
                                    sortable: true,
                                    resizable: true,
                                    width: 100,
                                    dataIndex: 'JAT_start_time'
                                },
                                {
                                    xtype: 'gridcolumn',
                                    header: 'Queue',
                                    sortable: true,
                                    resizable: true,
                                    width: 100,
                                    dataIndex: 'queue_name'
                                },
                                {
                                    xtype: 'gridcolumn',
                                    header: 'CPUs',
                                    sortable: true,
                                    resizable: true,
                                    width: 100,
                                    dataIndex: 'slots'
                                }
                            ],
                            bbar: {
                                xtype: 'paging',
                                store: 'storeClusterQueue',
                                displayInfo: true,
                                refreshText: 'Retrieving queue status...',
                                emptyMsg: 'No jobs to retrieve',
                                id: 'clusterQueuePaging'
                            }
                    })
            }]
}]
};

Simple enough, note the reference to 'Ext.ill.WCSS.stores.dashboardClusterJobs'

So in stores/dashboard.js I just have this:

Ext.ill.WCSS.stores.dashboardClusterJobs = new Ext.data.XmlStore({
    storeId: 'storeClusterJobs',
    record: 'job_list',
    autoLoad: true,
    url: 'joblist.xml',
    idPath: 'job_info',
    remoteSort: false,
    fields: [
        {
            name: 'JB_job_number'
        },
        {
            name: 'JAT_prio'
        },
        {
            name: 'JB_name'
        },
        {
            name: 'JB_owner'
        },
        {
            name: 'state'
        },
        {
            name: 'JAT_start_time'
        },
        {
            name: 'slots'
        },
        {
            name: 'queue_name'
        }
    ]
});

I run the code and I get 'store is undefined' :S It's confusing me a lot. All of the javascripts have been included in the correct order.

i.e.

<script type="text/javascript" src="/js/portal.js"></script>
<script type="text/javascript" src="/js/stores/dashboard.js"></script>
<script type="text/javascript" src="/js/controls/dashboard.js"></script>

Thanks guys!

A: 

I think we need more info. You're using an xtype of portal (code missing) and it's not obvious how this object is instantiated (code missing).

Upper Stage
A: 

It might be a namespace issue. What do your Ext.ns declarations look like?

Kenny Peng
A: 

Hi guys,

I figured it out. It was to do with my ordering of javascript files. (ooops!) thanks so much for your help though and apologies for the late response.

Jamie