view app/view/proben/List.js @ 362:6a7a9267e00f

Issue56: Changed way how to set the form and window to readonly. Now all dialogs should habe proper readonly settings. Now the Save and Cancel button are displayed as needed.
author Torsten Irländer <torsten.irlaender@intevation.de>
date Thu, 15 Aug 2013 14:07:35 +0200
parents 94884cd8f8c0
children 3bed0373cf50
line wrap: on
line source
/*
 * Grid to list Proben
 */
Ext.define('Lada.view.proben.List' ,{
    extend: 'Ext.grid.Panel',
    alias: 'widget.probenlist',
    store: 'Proben',
    viewConfig: {
        maxHeight: 350,
        emptyText: 'Keine Proben gefunden.',
        // minHeight and deferEmptyText are needed to be able to show the
        // emptyText message.
        minHeight: 35,
        deferEmptyText: false
    },
    availableColumns: [
            {header: 'Datenbasis',  dataIndex: 'datenbasisId', width: 70},
            {header: 'MPL',  dataIndex: 'mplId', width: 50},
            {header: 'UWB',  dataIndex: 'umwId', width: 50},
            {header: 'MMT',  dataIndex: 'messmethode'},
            {header: 'HPNR',  dataIndex: 'hauptprobenNr'},
            {header: 'NPNR',  dataIndex: 'nebenprobenNr'},
            {header: 'E.Gemeinde',  dataIndex: 'bezeichnung', flex: 1},
            {header: 'Ursprungsgemeinde',  dataIndex: 'kreis', flex: 1},
            {header: 'ProbeID', dataIndex: 'probeId'},
            {header: 'MST', dataIndex: 'mstId', width: 50}
    ],
    initComponent: function() {
        this.dockedItems = [
            {
                xtype: 'toolbar',
                dock: 'top',
                items: [
                    {
                        text: 'Hinzufügen',
                        icon: 'gfx/plus.gif',
                        action: 'add'
                    },
                    {
                        text: 'Import',
                        icon: 'gfx/plus.gif',
                        action: 'import'
                    }
                ]
            }
        ];
        this.columns = [];
        this.callParent(arguments);
    },
    /**
     * Setup columns of the Grid dynamically based on a list of given cols.
     * The function is called from the {@link Lada.controller.Sql#selectSql
     * select sql event}
     * @parameter {Array} List of cols to show in the Grid.
     */
    setupColumns: function(cols) {
        var rcols = []
        rcols.push({header: 'RW', dataIndex: 'readonly', width: 30, renderer: render_readonly});
        for (var i = cols.length - 1; i >= 0; i--){
            rcols.push(cols[i]);
        };
        this.reconfigure(this.store, rcols);
    }
});

/**
 * Helper function to render a readonly symbol per row in the grid
 * @param {Boolean} flag if the symbol is a readonly symbol.
 */
function render_readonly (value) {
    if (value) {
        return '&#128274;'
    } else {
        return '&#128275;'
    }
}

http://lada.wald.intevation.org