view app/view/messungen/List.js @ 260:70a1b5962930

Issue50: Added sorting on the most stores.
author Torsten Irländer <torsten.irlaender@intevation.de>
date Thu, 25 Jul 2013 15:39:15 +0200
parents cfa0cc437781
children eccf58d3b106
line wrap: on
line source
Ext.define('Lada.view.messungen.List' ,{
    extend: 'Ext.grid.Panel',
    alias: 'widget.messungenlist',
    store: 'Messungen',
    viewConfig: {
        maxHeight: 350,
        emptyText: 'Keine Messungen gefunden.',
        // minHeight and deferEmptyText are needed to be able to show the
        // emptyText message.
        minHeight: 35,
        deferEmptyText: false
    },
    probeId: null,
    initComponent: function() {
        this.dockedItems = [
            {
                xtype: 'toolbar',
                dock: 'top',
                items: [
                    {
                        text: 'Hinzufügen',
                        icon: 'gfx/plus.gif',
                        action: 'add',
                        probeId: this.probeId
                    },
                    {
                        text: 'Löschen',
                        icon: 'gfx/minus.gif',
                        action: 'delete'
                    }
                ]
            }
        ];
        this.columns = [
            {header: 'Mess.ID', dataIndex: "messungsId", width: 50},
            {header: 'NPR-Nr.', dataIndex: "nebenprobenNr", width: 50},
            {header: 'MMT', dataIndex: "mmtId", width: 50},
            {header: 'Messzeit', dataIndex: "messzeitpunkt"},
            {
                header: 'Status',
                dataIndex: 'id',
                renderer: function(value) {
                    var sstore = Ext.getStore('Status');
                    sstore.load({
                        params: {
                            probeId: value.probeId,
                            messungsId: value.messungsId
                        }
                    });
                    if (sstore.getTotalCount() === 0) {
                        return "unbekannt";
                    } else {
                        return sstore.last().get('status');
                    }
                }
            },
            {header: 'OK-Flag', dataIndex: "fertig"},
            {
                header: 'Anzahl Nuklide',
                dataIndex: 'id',
                renderer: function(value) {
                    var mstore = Ext.getStore('Messwerte');
                    mstore.load({
                        params: {
                            probeId: value.probeId,
                            messungsId: value.messungsId
                        }
                    });
                    return mstore.getTotalCount();
                }
            },
            {
                header: 'Anzahl Kommentare',
                flex: 1,
                dataIndex: 'id',
                renderer: function(value) {
                    var kstore = Ext.getStore('MKommentare');
                    kstore.load({
                        params: {
                            probeId: value.probeId,
                            messungsId: value.messungsId
                        }
                    });
                    return kstore.getTotalCount();
                }
            }
        ];
        this.callParent(arguments);
    }
});

http://lada.wald.intevation.org