Mercurial > lada > lada-client
view app/view/panel/Ort.js @ 1361:5c2d6812d85a
Merge behaviour of Stammdaten panel and ortszuordnungs grid
according to the recent changes in Ortszuordnung and Ortserstellung.
author | Maximilian Krambach <mkrambach@intevation.de> |
---|---|
date | Tue, 07 Feb 2017 19:50:36 +0100 |
parents | 195c5d9b234b |
children | b58868c47f02 |
line wrap: on
line source
Ext.define('Lada.view.panel.Ort', { extend: 'Ext.panel.Panel', alias: 'widget.ortpanel', requires: [ 'Lada.view.panel.Map', 'Lada.view.grid.Orte' ], width: '100%', //height: 200, layout: { type: 'border' }, toolbarPos: 'top', editableGrid: true, initComponent: function() { var i18n = Lada.getApplication().bundle; // Different Layout of toolbar depending on the bars position. if (this.toolbarPos == 'top') { this.dockedItems = [{ xtype: 'toolbar', dock: 'top', items: [{ xtype: 'tbtext', text: i18n.getMsg('orte.gridTitle') }, '->', { text: i18n.getMsg('map.button.add'), icon: 'resources/img/list-add.png', action: 'addMap', disabled: true // disabled on startup, will be enabled by setStore }, { text: i18n.getMsg('orte.button.add'), icon: 'resources/img/list-add.png', action: 'add', disabled: true // disabled on startup, will be enabled by setStore }, { text: i18n.getMsg('orte.button.delete'), icon: 'resources/img/list-remove.png', action: 'delete', disabled: true // disabled on startup, will be enabled by controller if necessary }] }]; } else { this.dockedItems = [{ xtype: 'toolbar', dock: this.toolbarPos, items: [ '->', { text: i18n.getMsg('map.button.add'), icon: 'resources/img/list-add.png', action: 'addMap', disabled: true // disabled on startup, will be enabled by setStore }, { text: i18n.getMsg('orte.button.add'), icon: 'resources/img/list-add.png', action: 'add', disabled: true // disabled on startup, will be enabled by setStore }] }]; } this.items = [{ xtype: 'ortstammdatengrid', width: '60%', editableGrid: this.editableGrid, collapsible: true, region: 'east' }, { xtype: 'map', region: 'center', layout: 'border', title: i18n.getMsg('map.title'), externalOrteStore: true, listeners: { beforecollapse: function() { var c = this.map.getControlsByClass('OpenLayers.Control.ScaleLine'); this.map.removeControl(c[0]); }, expand: function() { this.map.addControl(new OpenLayers.Control.ScaleLine()); } } }]; this.callParent(arguments); var map = this.down('map'); var osg = this.down('ortstammdatengrid'); osg.setLoading(true); map.setLoading(true); this.setStore(); }, afterRender: function() { this.superclass.afterRender.apply(this, arguments); this.down('map').map.zoomTo(6); }, setStore: function(store) { var me = this; var osg = this.down('ortstammdatengrid'); var map = this.down('map'); osg.setLoading(true); map.setLoading(true); if (!store) { this.ortstore = Ext.data.StoreManager.get('orte'); //this.ortstore.clearFilter(true); } else { this.ortstore = store; } // store.clearFilter(true); this.ortstore.load({ callback: function() { osg.setStore(me.ortstore); map.addLocations(me.ortstore); osg.setLoading(false); map.setLoading(false); } }); //enable buttons this.down('toolbar button[action=add]').enable(); this.down('toolbar button[action=addMap]').enable(); this.connectListeners(); }, getStore: function() { return this.ortstore; }, connectListeners: function() { var osg = this.down('ortstammdatengrid'); var map = this.down('map'); map.addListener('featureselected', osg.selectOrt, osg); osg.addListener('select', map.selectFeature, map); } });