Mercurial > lada > lada-client
diff app/view/grid/FilterResult.js @ 548:d47ee7439f44
Added new js files.
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Fri, 06 Mar 2015 12:43:52 +0100 |
parents | |
children | 199246596bf7 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/view/grid/FilterResult.js Fri Mar 06 12:43:52 2015 +0100 @@ -0,0 +1,82 @@ +/* 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 Proben + */ +Ext.define('Lada.view.grid.FilterResult', { + extend: 'Ext.grid.Panel', + alias: 'widget.filterresultgrid', + + store: 'ProbenList', + + multiSelect: true, + + viewConfig: { + emptyText: 'Keine Proben gefunden.', + deferEmptyText: false + }, + + initComponent: function() { + this.dockedItems = [{ + xtype: 'toolbar', + dock: 'top', + items: [{ + text: 'Hinzufügen', + icon: 'resources/img/list-add.png', + action: 'add' + }, { + text: 'Import', + icon: 'resources/img/svn-commit.png', + action: 'import' + }, { + text: 'Export', + icon: 'resources/img/svn-update.png', + action: 'export' + }] + }]; + 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} + */ + setupColumns: function(cols) { + var resultColumns = []; + var fields = []; + + resultColumns.push({ + header: 'RW', + dataIndex: 'readonly', + width: 30, + renderer: function(value) { + if (value) { + return '<img src="resources/img/lock_16x16.png"/>'; + } + return '<img src="resources/img/unlock_16x16.png"/>'; + } + }); + fields.push(new Ext.data.Field({ + name: 'readonly' + })); + for (var i = cols.length - 1; i >= 0; i--) { + if (cols[i] === 'id') { + continue; + } + resultColumns.push(cols[i]); + fields.push(new Ext.data.Field({ + name: cols[i].dataIndex + })); + } + this.store.model.setFields(fields); + this.reconfigure(this.store, resultColumns); + } +});