Mercurial > lada > lada-client
view app/view/grid/Ort.js @ 703:9ab7b1eed9f8
Rowediting is now disabled when the Grid was set to ReadOnly
author | Dustin Demuth <dustin@intevation.de> |
---|---|
date | Fri, 27 Mar 2015 11:03:10 +0100 |
parents | 69cb367c0a63 |
children | 5ed0e6273888 |
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 Orte */ Ext.define('Lada.view.grid.Ort', { extend: 'Ext.grid.Panel', alias: 'widget.ortgrid', maxHeight: 350, emptyText: 'Keine Orte gefunden.', // minHeight and deferEmptyText are needed to be able to show the // emptyText message. minHeight: 110, viewConfig: { deferEmptyText: false }, margin: '0, 5, 5, 5', recordId: null, warnings: null, errors: null, initComponent: function() { this.dockedItems = [{ xtype: 'toolbar', dock: 'bottom', items: ['->', { text: 'Hinzufügen', icon: 'resources/img/list-add.png', action: 'add', probeId: this.probeId }, { text: 'Löschen', icon: 'resources/img/list-remove.png', action: 'delete' }] }]; this.columns = [{ header: 'Typ', dataIndex: 'ortsTyp', width: 50, editor: { allowBlank: false } }, { header: 'Staat', dataIndex: 'ort', width: 70, renderer: function(value) { var store = Ext.data.StoreManager.get('locations'); var staaten = Ext.data.StoreManager.get('staaten'); var record = staaten.getById(store.getById(value).get('staatId')); return record.get('staatIso'); } }, { header: 'Gemeineschlüssel', dataIndex: 'ort', width: 120, renderer: function(value) { var store = Ext.data.StoreManager.get('locations'); var record = store.getById(value); return record.get('verwaltungseinheitId'); } }, { header: 'Gemeindename', dataIndex: 'ort', flex: 1, renderer: function(value) { var store = Ext.data.StoreManager.get('locations'); var gemeinden = Ext.data.StoreManager.get('verwaltungseinheiten'); var record = store.getById(value); var gemid = record.get('verwaltungseinheitId'); var record2 = gemeinden.getById(gemid); return record2.get('bezeichnung'); } }, { header: 'Messpunkt', dataIndex: 'ort', renderer: function(value) { var store = Ext.getStore('locations'); var record = store.getById(value); return record.get('bezeichnung'); } }]; this.initData(); this.callParent(arguments); }, initData: function() { this.store = Ext.create('Lada.store.Orte'); this.store.load({ params: { probeId: this.recordId } }); Ext.ClassManager.get('Lada.model.Probe').load(this.recordId, { failure: function(record, action) { // TODO }, success: function(record, response) { var json = Ext.decode(response.response.responseText); if (json) { this.warnings = json.warnings; this.errors = json.errors; } }, scope: this }); }, setReadOnly: function(b) { if (b == true){ //Readonly if (this.getPlugin('rowedit')){ this.getPlugin('rowedit').disable(); } this.down('button[action=delete]').disable(); this.down('button[action=add]').disable(); }else{ //Writable if (this.getPlugin('rowedit')){ this.getPlugin('rowedit').enable(); } this.down('button[action=delete]').enable(); this.down('button[action=add]').enable(); } } });