]>
Commit | Line | Data |
---|---|---|
c790d2ab | 1 | Ext.define('PMG.ObjectGroupConfiguration', { |
56b0691b | 2 | extend: 'Ext.panel.Panel', |
56b0691b | 3 | |
c790d2ab DM |
4 | ogclass: undefined, // who, when, what |
5 | otype_list: [], | |
c87d46fb | 6 | |
95c6a00a | 7 | layout: 'border', |
56b0691b | 8 | border: false, |
c87d46fb TL |
9 | |
10 | initComponent: function() { | |
56b0691b DM |
11 | var me = this; |
12 | ||
c790d2ab | 13 | if (me.ogclass === undefined) { |
7a3b5e2d | 14 | throw "undefined object group class"; |
c790d2ab | 15 | } |
c87d46fb TL |
16 | |
17 | if (!PMG.Utils.oclass_text[me.ogclass]) { | |
c790d2ab DM |
18 | throw "unknown object group class"; |
19 | } | |
20 | ||
a43acf2e | 21 | var left = Ext.create('PMG.ObjectGroupList', { |
56b0691b DM |
22 | width: 250, |
23 | ogclass: me.ogclass, | |
95c6a00a DC |
24 | subject: PMG.Utils.oclass_text[me.ogclass], |
25 | title: PMG.Utils.oclass_text[me.ogclass], | |
26 | border: false, | |
27 | split: true, | |
c87d46fb | 28 | region: 'west', |
56b0691b | 29 | }); |
c87d46fb | 30 | |
3eba771a | 31 | var right = Ext.create('PMG.ObjectGroup', { |
c790d2ab | 32 | otype_list: me.otype_list, |
56b0691b | 33 | border: false, |
95c6a00a | 34 | region: 'center', |
8bc42ab3 DM |
35 | listeners: { |
36 | dblclickOGInfo: function(w, e, t, ogdata) { | |
37 | // test if the correct groups is selected (just to be sure) | |
38 | var rec = left.selModel.getSelection()[0]; | |
39 | if (rec && rec.data && rec.data.id === ogdata.id) { | |
40 | left.run_editor(); | |
8bc42ab3 | 41 | } |
c87d46fb TL |
42 | }, |
43 | }, | |
56b0691b DM |
44 | }); |
45 | ||
ad834b6f DM |
46 | me.mon(left.store, "refresh", function() { |
47 | var rec = left.selModel.getSelection()[0]; | |
48 | if (!(rec && rec.data && rec.data.id)) { | |
49 | return; | |
50 | } | |
51 | right.setObjectInfo(rec.data); | |
52 | }); | |
53 | ||
56b0691b DM |
54 | me.mon(left.selModel, "selectionchange", function() { |
55 | var rec = left.selModel.getSelection()[0]; | |
56 | if (!(rec && rec.data && rec.data.id)) { | |
84185bf4 DM |
57 | right.setObjectInfo(undefined); |
58 | right.setBaseUrl(undefined); | |
56b0691b DM |
59 | return; |
60 | } | |
8bc42ab3 | 61 | right.setObjectInfo(rec.data); |
c790d2ab | 62 | var baseurl = '/config/ruledb/' + me.ogclass + '/' + rec.data.id; |
56b0691b DM |
63 | right.setBaseUrl(baseurl); |
64 | }); | |
c87d46fb TL |
65 | |
66 | me.items = [left, right]; | |
56b0691b DM |
67 | |
68 | me.callParent(); | |
c87d46fb | 69 | }, |
56b0691b | 70 | }); |
c790d2ab DM |
71 | |
72 | Ext.define('PMG.WhoConfiguration', { | |
73 | extend: 'PMG.ObjectGroupConfiguration', | |
bca16cae | 74 | xtype: 'pmgWhoConfiguration', |
c790d2ab DM |
75 | |
76 | ogclass: 'who', | |
c87d46fb | 77 | otype_list: [1000, 1001, 1002, 1003, 1004, 1005, 1006], |
c790d2ab DM |
78 | }); |
79 | ||
80 | Ext.define('PMG.WhenConfiguration', { | |
81 | extend: 'PMG.ObjectGroupConfiguration', | |
bca16cae | 82 | xtype: 'pmgWhenConfiguration', |
c790d2ab DM |
83 | |
84 | ogclass: 'when', | |
c87d46fb | 85 | otype_list: [2000], |
c790d2ab DM |
86 | }); |
87 | ||
88 | Ext.define('PMG.WhatConfiguration', { | |
89 | extend: 'PMG.ObjectGroupConfiguration', | |
bca16cae | 90 | xtype: 'pmgWhatConfiguration', |
c790d2ab DM |
91 | |
92 | ogclass: 'what', | |
c87d46fb | 93 | otype_list: [3000, 3001, 3002, 3003, 3004, 3005, 3006], |
c790d2ab DM |
94 | }); |
95 |