diff app/controller/FilterResult.js @ 754:6b0d0e62f7d7

added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
author Dustin Demuth <dustin@intevation.de>
date Tue, 05 May 2015 17:22:38 +0200
parents 704bb359c0fe
children 3637c453f67d
line wrap: on
line diff
--- a/app/controller/FilterResult.js	Wed Apr 29 13:04:24 2015 +0200
+++ b/app/controller/FilterResult.js	Tue May 05 17:22:38 2015 +0200
@@ -12,7 +12,8 @@
 Ext.define('Lada.controller.FilterResult', {
     extend: 'Ext.app.Controller',
     requires: [
-        'Lada.view.window.ProbeEdit'
+        'Lada.view.window.ProbeEdit',
+        'Lada.view.window.MessprogrammEdit'
     ],
 
     /**
@@ -23,8 +24,8 @@
             'filterresultgrid': {
                 itemdblclick: this.editItem
             },
-            'filterresultgrid toolbar button[action=add]': {
-                click: this.addItem
+            'filterresultgrid toolbar button[action=addProbe]': {
+                click: this.addProbeItem
             },
             'filterresultgrid toolbar button[action=import]': {
                 click: this.uploadFile
@@ -41,24 +42,53 @@
      * {@link Lada.view.grid.FilterResult}
      * was double-clicked.
      * The function opens a {@link Lada.view.window.ProbeEdit}
+     * or a {@link Lada.view.window.MessprogrammEdit}.
+     * To determine which window has to be opened, the function
+     * analyse the records modelname.
      */
     editItem: function(grid, record) {
-        console.log(record);
-        var win = Ext.create('Lada.view.window.ProbeEdit', {
-            record: record
-        });
+        var mname = record.store.model.modelName || '';
+        var winname = '';
+
+        //Based upon the Model that was loaded, act differently
+        if (mname == 'Lada.model.ProbeList'){
+            winname = 'Lada.view.window.ProbeEdit';
+        }
+        else if (mname == 'Lada.model.MessprogrammList'){
+            winname = 'Lada.view.window.MessprogrammEdit';
+        }
+        if (winname){
+            var win = Ext.create(winname, {
+                record: record
+             });
+            win.show();
+            win.initData();
+        }
+        else {
+            console.log('The model is unknown.'
+                +'No window was configured to display the data.'
+                +'I retrieved a model named:' + mname
+            );
+        }
+    },
+
+    /**
+     * This function opens a new window to create a Probe
+     * {@link Lada.view.window.ProbeCreate}
+     */
+    addProbeItem: function() {
+        var win = Ext.create('Lada.view.window.ProbeCreate');
         win.show();
         win.initData();
     },
 
     /**
      * This function opens a new window to create a Probe
-     * {@link Lada.view.window.ProbeEdit}
+     * {@link Lada.view.window.MessprogrammCreate}
      */
-    addItem: function() {
-        var win = Ext.create('Lada.view.window.ProbeCreate');
-        win.show();
-        win.initData();
+    addMessprogrammItem: function() {
+        // TODO
+        console.log('implement me.')
     },
 
     /**
@@ -82,6 +112,7 @@
     downloadFile: function(button) {
         var grid = button.up('grid');
         var selection = grid.getView().getSelectionModel().getSelection();
+        var i18n = Lada.getApplication().bundle;
         var proben = [];
         for (var i = 0; i < selection.length; i++) {
             proben.push(selection[i].get('id'));
@@ -98,7 +129,8 @@
                 saveAs(blob, 'export.laf');
             },
             failure: function() {
-                Ext.Msg.alert('Fehler', 'Failed to create LAF-File!');
+                Ext.Msg.create(i18n.getMsg('err.msg.generic.title'),
+                    i18n.getMsg('err.msg.laf.filecreatefailed'));
             }
         });
     }

http://lada.wald.intevation.org