Mercurial > lada > lada-client
annotate app/controller/Kommentare.js @ 134:1620d02d2973
Reset idProperty to probeId again as it seems the the submitted data will have
an autogenerated id property "id" in the other case which causes problems on
the server side.
author | Torsten Irländer <torsten.irlaender@intevation.de> |
---|---|
date | Tue, 25 Jun 2013 17:33:56 +0200 |
parents | 6273b73b4b27 |
children | 7b1140bd8b3d |
rev | line source |
---|---|
54
3c7bfff8bd64
Added Controller for kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
1 Ext.define('Lada.controller.Kommentare', { |
3c7bfff8bd64
Added Controller for kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
2 extend: 'Ext.app.Controller', |
3c7bfff8bd64
Added Controller for kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
3 views: [ |
55
4fa3fba50f79
Added dialog for editing kommentare. Open the dialog on double click on a
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
54
diff
changeset
|
4 'kommentare.List', |
107
84f32c62670f
Added form to create kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
61
diff
changeset
|
5 'kommentare.Create' |
54
3c7bfff8bd64
Added Controller for kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
6 ], |
3c7bfff8bd64
Added Controller for kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
7 stores: [ |
3c7bfff8bd64
Added Controller for kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
8 'Kommentare' |
3c7bfff8bd64
Added Controller for kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
9 ], |
3c7bfff8bd64
Added Controller for kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
10 models: [ |
3c7bfff8bd64
Added Controller for kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
11 'Kommentar' |
3c7bfff8bd64
Added Controller for kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
12 ], |
3c7bfff8bd64
Added Controller for kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
13 init: function() { |
3c7bfff8bd64
Added Controller for kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
14 console.log('Initialising the Kommentare controller'); |
3c7bfff8bd64
Added Controller for kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
15 this.control({ |
3c7bfff8bd64
Added Controller for kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
16 // CSS like selector to select element in the viewport. See |
3c7bfff8bd64
Added Controller for kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
17 // ComponentQuery documentation for more details. |
55
4fa3fba50f79
Added dialog for editing kommentare. Open the dialog on double click on a
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
54
diff
changeset
|
18 'kommentarelist': { |
4fa3fba50f79
Added dialog for editing kommentare. Open the dialog on double click on a
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
54
diff
changeset
|
19 itemdblclick: this.editKommentar |
59
9e23eca8dfc7
Added function to delete kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
55
diff
changeset
|
20 }, |
60
5db7ab34af6d
Implemented Adding und Editing Kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
59
diff
changeset
|
21 'kommentarelist toolbar button[action=add]': { |
5db7ab34af6d
Implemented Adding und Editing Kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
59
diff
changeset
|
22 click: this.addKommentar |
5db7ab34af6d
Implemented Adding und Editing Kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
59
diff
changeset
|
23 }, |
59
9e23eca8dfc7
Added function to delete kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
55
diff
changeset
|
24 'kommentarelist toolbar button[action=delete]': { |
9e23eca8dfc7
Added function to delete kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
55
diff
changeset
|
25 click: this.deleteKommentar |
60
5db7ab34af6d
Implemented Adding und Editing Kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
59
diff
changeset
|
26 }, |
111
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
27 'kommentarecreate form': { |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
28 savesuccess: this.createSuccess, |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
29 savefailure: this.createFailure |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
30 }, |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
31 'kommentareedit form': { |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
32 savesuccess: this.editSuccess, |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
33 savefailure: this.editFailure |
55
4fa3fba50f79
Added dialog for editing kommentare. Open the dialog on double click on a
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
54
diff
changeset
|
34 } |
54
3c7bfff8bd64
Added Controller for kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
35 }); |
3c7bfff8bd64
Added Controller for kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
36 }, |
60
5db7ab34af6d
Implemented Adding und Editing Kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
59
diff
changeset
|
37 addKommentar: function(button) { |
5db7ab34af6d
Implemented Adding und Editing Kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
59
diff
changeset
|
38 console.log('Adding new Kommentar'); |
111
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
39 var view = Ext.widget('kommentarecreate'); |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
40 }, |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
41 editKommentar: function(grid, record) { |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
42 console.log('Editing Kommentar'); |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
43 var view = Ext.widget('kommentarecreate', {model: record}); |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
44 console.log("Loaded Kommentar with ID " + record.getId()); //outputs ID |
60
5db7ab34af6d
Implemented Adding und Editing Kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
59
diff
changeset
|
45 }, |
59
9e23eca8dfc7
Added function to delete kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
55
diff
changeset
|
46 deleteKommentar: function(button) { |
9e23eca8dfc7
Added function to delete kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
55
diff
changeset
|
47 // Get selected item in grid |
9e23eca8dfc7
Added function to delete kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
55
diff
changeset
|
48 var grid = button.up('grid'); |
9e23eca8dfc7
Added function to delete kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
55
diff
changeset
|
49 var selection = grid.getView().getSelectionModel().getSelection()[0]; |
9e23eca8dfc7
Added function to delete kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
55
diff
changeset
|
50 Ext.MessageBox.confirm('Löschen', 'Sind Sie sicher?', function(btn){ |
9e23eca8dfc7
Added function to delete kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
55
diff
changeset
|
51 if(btn === 'yes'){ |
9e23eca8dfc7
Added function to delete kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
55
diff
changeset
|
52 var store = grid.getStore(); |
9e23eca8dfc7
Added function to delete kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
55
diff
changeset
|
53 store.remove(selection); |
9e23eca8dfc7
Added function to delete kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
55
diff
changeset
|
54 store.sync(); |
9e23eca8dfc7
Added function to delete kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
55
diff
changeset
|
55 console.log('Deleting Kommentar'); |
9e23eca8dfc7
Added function to delete kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
55
diff
changeset
|
56 } else { |
9e23eca8dfc7
Added function to delete kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
55
diff
changeset
|
57 console.log('Cancel Deleting Kommentar'); |
9e23eca8dfc7
Added function to delete kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
55
diff
changeset
|
58 } |
9e23eca8dfc7
Added function to delete kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
55
diff
changeset
|
59 }); |
9e23eca8dfc7
Added function to delete kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
55
diff
changeset
|
60 }, |
111
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
61 createSuccess: function(form, record, operation) { |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
62 // Reload store |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
63 var store = this.getKommentareStore(); |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
64 store.reload(); |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
65 var win = form.up('window'); |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
66 win.close(); |
54
3c7bfff8bd64
Added Controller for kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
67 }, |
111
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
68 createFailure: function(form, record, operation) { |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
69 Ext.MessageBox.show({ |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
70 title: 'Fehler beim Speichern', |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
71 msg: form.message, |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
72 icon: Ext.MessageBox.ERROR, |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
73 buttons: Ext.Msg.OK |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
74 }); |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
75 }, |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
76 editSuccess: function(form, record, operation) { |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
77 // Reload store |
60
5db7ab34af6d
Implemented Adding und Editing Kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
59
diff
changeset
|
78 var store = this.getKommentareStore(); |
111
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
79 store.reload(); |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
80 var win = form.up('window'); |
60
5db7ab34af6d
Implemented Adding und Editing Kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
59
diff
changeset
|
81 win.close(); |
111
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
82 }, |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
83 editFailure: function(form, record, operation) { |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
84 Ext.MessageBox.show({ |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
85 title: 'Fehler beim Speichern', |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
86 msg: form.message, |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
87 icon: Ext.MessageBox.ERROR, |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
88 buttons: Ext.Msg.OK |
6273b73b4b27
Replaced Logic for Kommentare. Use copied code form Orte.
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
107
diff
changeset
|
89 }); |
54
3c7bfff8bd64
Added Controller for kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
90 } |
3c7bfff8bd64
Added Controller for kommentare
Torsten Irländer <torsten.irlaender@intevation.de>
parents:
diff
changeset
|
91 }); |