diff app/view/panel/Ort.js @ 1021:1df6b6210b42 stammdatengrids

WIP First Version of a New Window/Panel combination to edit Ortszuordnungen and Orte
author Dustin Demuth <dustin@intevation.de>
date Thu, 04 Feb 2016 16:31:46 +0100
parents
children 1bd4c0709bd6
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/app/view/panel/Ort.js	Thu Feb 04 16:31:46 2016 +0100
@@ -0,0 +1,128 @@
+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',
+
+    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%',
+            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);
+    },
+
+    setStore: function(store) {
+        var me = this;
+        var osg = this.down('ortstammdatengrid');
+        var map = this.down('map');
+
+        if (!store) {
+            var ortstore = Ext.create('Lada.store.Orte', {
+                defaultPageSize: 0,
+                listeners: {
+                    beforeload: {
+                        fn: function() {
+                            osg.setLoading(true);
+                            map.setLoading(true);
+                        }
+                    },
+                    load: {
+                        fn: function() {
+                            osg.setLoading(false);
+                            map.setLoading(false);
+                            osg.setStore(ortstore);
+                            map.addLocations(ortstore);
+
+                        }
+                    }
+                }
+            });
+        }
+        else {
+            osg.setStore(store);
+            map.addLocations(store);
+        }
+        //enable buttons
+        me.down('toolbar button[action=add]').enable();
+        me.down('toolbar button[action=addMap]').enable();
+    }
+});

http://lada.wald.intevation.org