view app/view/messwerte/List.js @ 545:7c9475119861 mockup-1.1

Enable the 'details' button only when an item is selected
author Roland Geider <roland.geider@intevation.de>
date Thu, 18 Dec 2014 15:59:47 +0100
parents 99e738c17b81
children
line wrap: on
line source
/* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz
 * Software engineering by Intevation GmbH
 *
 * This file is Free Software under the GNU GPL (v>=3)
 * and comes with ABSOLUTELY NO WARRANTY! Check out
 * the documentation coming with IMIS-Labordaten-Application for details.
 */

/*
 * Grid to list Messwerte
 */
Ext.define('Lada.view.messwerte.List', {
    extend: 'Ext.grid.Panel',
    alias: 'widget.messwertelist',

    store: 'Messwerte',
    viewConfig: {
        maxHeight: 350,
        emptyText: 'Keine Messwerte gefunden.',
        // minHeight and deferEmptyText are needed to be able to show the
        // emptyText message.
        minHeight: 65,
        deferEmptyText: false
    },

    probeId: null,
    parentId: null,

    initComponent: function() {
        var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
            clicksToMoveEditor: 1,
            autoCancel: false
        });

        this.plugins = [rowEditing];

        this.dockedItems = [{
            xtype: 'toolbar',
            dock: 'bottom',
            items: ['->', {
                text: 'Details',
                icon: 'gfx/document-open.png',
                action: 'open',
                disabled: true
            }, {
                text: 'Hinzufügen',
                icon: 'gfx/list-add.png',
                action: 'add',
                probeId: this.probeId,
                parentId: this.parentId
            }, {
                text: 'Löschen',
                icon: 'gfx/list-remove.png',
                action: 'delete'
            }]
        }];
        this.columns = [{
            header: '&lt;NWG',
            dataIndex: 'messwertNwg',
            editor: {
                xtype: 'nwg',
                allowBlank: false
            }
        }, {
            header: 'Messwert',
            dataIndex: 'messwert',
            editor: {
                xtype: 'numberfield',
                allowBlank: false
            }
        }, {
            header: 'Messfehler',
            dataIndex: 'messfehler',
            editor: {
                xtype: 'numberfield',
                allowBlank: false
            }
        }, {
            header: 'Messgröße',
            dataIndex: 'messgroesseId',
            renderer: function(value) {
                var store = Ext.data.StoreManager.get('staMessgroessen');
                return store.findRecord('id', value).get('messgroesse');
            },
            editor: {
                xtype: 'messgroesse',
                allowBlank: false
            }
        }, {
            header: 'Messeinheit',
            dataIndex: 'mehId',
            renderer: function(value) {
                var store = Ext.data.StoreManager.get('staMesseinheiten');
                return store.findRecord('id', value).get('einheit');
            },
            editor: {
                xtype: 'messeinheit',
                allowBlank: false
            }
        }, {
            header: 'Grenzwertüberschreitung',
            dataIndex: 'grenzwertueberschreitung',
            flex: 1,
            renderer: function(value) {
                if (value === true) {
                    return 'Ja';
                }
                return 'Nein';
            },
            editor: {
                xtype: 'checkboxfield'
            }
        }];
        this.callParent(arguments);
    },
    listeners: {
        selectionchange: function(model, selected, eOpts) {
            /*
            * Enable the 'details' button only when an item is selected
            */
            if (selected.length > 0) {
                this.down('button[action=open]').enable();
            }
        }
    }
});

http://lada.wald.intevation.org