]>
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: [], | |
6 | ||
95c6a00a | 7 | layout: 'border', |
56b0691b DM |
8 | border: false, |
9 | ||
10 | initComponent : function() { | |
11 | var me = this; | |
12 | ||
c790d2ab | 13 | if (me.ogclass === undefined) { |
7a3b5e2d | 14 | throw "undefined object group class"; |
c790d2ab DM |
15 | } |
16 | ||
95c6a00a | 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, | |
28 | region: 'west' | |
56b0691b DM |
29 | }); |
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(); | |
41 | return; | |
42 | } | |
43 | } | |
44 | } | |
56b0691b DM |
45 | }); |
46 | ||
ad834b6f DM |
47 | me.mon(left.store, "refresh", function() { |
48 | var rec = left.selModel.getSelection()[0]; | |
49 | if (!(rec && rec.data && rec.data.id)) { | |
50 | return; | |
51 | } | |
52 | right.setObjectInfo(rec.data); | |
53 | }); | |
54 | ||
56b0691b DM |
55 | me.mon(left.selModel, "selectionchange", function() { |
56 | var rec = left.selModel.getSelection()[0]; | |
57 | if (!(rec && rec.data && rec.data.id)) { | |
84185bf4 DM |
58 | right.setObjectInfo(undefined); |
59 | right.setBaseUrl(undefined); | |
56b0691b DM |
60 | return; |
61 | } | |
8bc42ab3 | 62 | right.setObjectInfo(rec.data); |
c790d2ab | 63 | var baseurl = '/config/ruledb/' + me.ogclass + '/' + rec.data.id; |
56b0691b DM |
64 | right.setBaseUrl(baseurl); |
65 | }); | |
66 | ||
95c6a00a | 67 | me.items = [ left, right ]; |
56b0691b DM |
68 | |
69 | me.callParent(); | |
70 | } | |
71 | }); | |
c790d2ab DM |
72 | |
73 | Ext.define('PMG.WhoConfiguration', { | |
74 | extend: 'PMG.ObjectGroupConfiguration', | |
bca16cae | 75 | xtype: 'pmgWhoConfiguration', |
c790d2ab DM |
76 | |
77 | ogclass: 'who', | |
6c137003 | 78 | otype_list: [1000, 1001, 1002, 1003, 1004, 1005, 1006] |
c790d2ab DM |
79 | }); |
80 | ||
81 | Ext.define('PMG.WhenConfiguration', { | |
82 | extend: 'PMG.ObjectGroupConfiguration', | |
bca16cae | 83 | xtype: 'pmgWhenConfiguration', |
c790d2ab DM |
84 | |
85 | ogclass: 'when', | |
b4eee4f7 | 86 | otype_list: [2000] |
c790d2ab DM |
87 | }); |
88 | ||
89 | Ext.define('PMG.WhatConfiguration', { | |
90 | extend: 'PMG.ObjectGroupConfiguration', | |
bca16cae | 91 | xtype: 'pmgWhatConfiguration', |
c790d2ab DM |
92 | |
93 | ogclass: 'what', | |
74468b03 | 94 | otype_list: [3000, 3001, 3002, 3003, 3004, 3005, 3006] |
c790d2ab DM |
95 | }); |
96 |