]>
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, |
e3c8d4fd | 33 | objectClass: me.ogclass, |
56b0691b | 34 | border: false, |
95c6a00a | 35 | region: 'center', |
8bc42ab3 DM |
36 | listeners: { |
37 | dblclickOGInfo: function(w, e, t, ogdata) { | |
38 | // test if the correct groups is selected (just to be sure) | |
39 | var rec = left.selModel.getSelection()[0]; | |
40 | if (rec && rec.data && rec.data.id === ogdata.id) { | |
41 | left.run_editor(); | |
8bc42ab3 | 42 | } |
c87d46fb | 43 | }, |
1f839721 DC |
44 | modeUpdate: (_cmp, and, invert) => { |
45 | let rec = left.selModel.getSelection()[0]; | |
46 | rec.set('and', and); | |
47 | rec.set('invert', invert); | |
48 | rec.commit(); | |
49 | }, | |
c87d46fb | 50 | }, |
56b0691b DM |
51 | }); |
52 | ||
ad834b6f DM |
53 | me.mon(left.store, "refresh", function() { |
54 | var rec = left.selModel.getSelection()[0]; | |
55 | if (!(rec && rec.data && rec.data.id)) { | |
56 | return; | |
57 | } | |
58 | right.setObjectInfo(rec.data); | |
59 | }); | |
60 | ||
56b0691b DM |
61 | me.mon(left.selModel, "selectionchange", function() { |
62 | var rec = left.selModel.getSelection()[0]; | |
63 | if (!(rec && rec.data && rec.data.id)) { | |
84185bf4 DM |
64 | right.setObjectInfo(undefined); |
65 | right.setBaseUrl(undefined); | |
56b0691b DM |
66 | return; |
67 | } | |
8bc42ab3 | 68 | right.setObjectInfo(rec.data); |
c790d2ab | 69 | var baseurl = '/config/ruledb/' + me.ogclass + '/' + rec.data.id; |
56b0691b DM |
70 | right.setBaseUrl(baseurl); |
71 | }); | |
c87d46fb TL |
72 | |
73 | me.items = [left, right]; | |
56b0691b DM |
74 | |
75 | me.callParent(); | |
c87d46fb | 76 | }, |
56b0691b | 77 | }); |
c790d2ab DM |
78 | |
79 | Ext.define('PMG.WhoConfiguration', { | |
80 | extend: 'PMG.ObjectGroupConfiguration', | |
bca16cae | 81 | xtype: 'pmgWhoConfiguration', |
c790d2ab DM |
82 | |
83 | ogclass: 'who', | |
c87d46fb | 84 | otype_list: [1000, 1001, 1002, 1003, 1004, 1005, 1006], |
c790d2ab DM |
85 | }); |
86 | ||
87 | Ext.define('PMG.WhenConfiguration', { | |
88 | extend: 'PMG.ObjectGroupConfiguration', | |
bca16cae | 89 | xtype: 'pmgWhenConfiguration', |
c790d2ab DM |
90 | |
91 | ogclass: 'when', | |
c87d46fb | 92 | otype_list: [2000], |
c790d2ab DM |
93 | }); |
94 | ||
95 | Ext.define('PMG.WhatConfiguration', { | |
96 | extend: 'PMG.ObjectGroupConfiguration', | |
bca16cae | 97 | xtype: 'pmgWhatConfiguration', |
c790d2ab DM |
98 | |
99 | ogclass: 'what', | |
c87d46fb | 100 | otype_list: [3000, 3001, 3002, 3003, 3004, 3005, 3006], |
c790d2ab DM |
101 | }); |
102 |