]> git.proxmox.com Git - pmg-gui.git/blame - js/ObjectGroupConfiguration.js
use the correct xtype for the spamquarantine in the main view
[pmg-gui.git] / js / ObjectGroupConfiguration.js
CommitLineData
c790d2ab 1Ext.define('PMG.ObjectGroupConfiguration', {
56b0691b 2 extend: 'Ext.panel.Panel',
56b0691b 3
c790d2ab
DM
4 ogclass: undefined, // who, when, what
5 otype_list: [],
6
56b0691b
DM
7 layout: { type: 'hbox', align: 'stretch' },
8 border: false,
9
10 initComponent : function() {
11 var me = this;
12
c790d2ab
DM
13 if (me.ogclass === undefined) {
14 throw "undefined object group class"
15 }
16
17 if (!(me.title = PMG.Utils.oclass_text[me.ogclass])) {
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,
a43acf2e 24 subject: me.title,
56b0691b
DM
25 border: false
26 });
27
3eba771a 28 var right = Ext.create('PMG.ObjectGroup', {
c790d2ab 29 otype_list: me.otype_list,
56b0691b 30 border: false,
8bc42ab3
DM
31 flex: 1,
32 listeners: {
33 dblclickOGInfo: function(w, e, t, ogdata) {
34 // test if the correct groups is selected (just to be sure)
35 var rec = left.selModel.getSelection()[0];
36 if (rec && rec.data && rec.data.id === ogdata.id) {
37 left.run_editor();
38 return;
39 }
40 }
41 }
56b0691b
DM
42 });
43
ad834b6f
DM
44 me.mon(left.store, "refresh", function() {
45 var rec = left.selModel.getSelection()[0];
46 if (!(rec && rec.data && rec.data.id)) {
47 return;
48 }
49 right.setObjectInfo(rec.data);
50 });
51
56b0691b
DM
52 me.mon(left.selModel, "selectionchange", function() {
53 var rec = left.selModel.getSelection()[0];
54 if (!(rec && rec.data && rec.data.id)) {
84185bf4
DM
55 right.setObjectInfo(undefined);
56 right.setBaseUrl(undefined);
56b0691b
DM
57 return;
58 }
8bc42ab3 59 right.setObjectInfo(rec.data);
c790d2ab 60 var baseurl = '/config/ruledb/' + me.ogclass + '/' + rec.data.id;
56b0691b
DM
61 right.setBaseUrl(baseurl);
62 });
63
64 me.items = [ left, { xtype: 'splitter' }, right ];
65
66 me.callParent();
67 }
68});
c790d2ab
DM
69
70Ext.define('PMG.WhoConfiguration', {
71 extend: 'PMG.ObjectGroupConfiguration',
bca16cae 72 xtype: 'pmgWhoConfiguration',
c790d2ab
DM
73
74 ogclass: 'who',
6c137003 75 otype_list: [1000, 1001, 1002, 1003, 1004, 1005, 1006]
c790d2ab
DM
76});
77
78Ext.define('PMG.WhenConfiguration', {
79 extend: 'PMG.ObjectGroupConfiguration',
bca16cae 80 xtype: 'pmgWhenConfiguration',
c790d2ab
DM
81
82 ogclass: 'when',
b4eee4f7 83 otype_list: [2000]
c790d2ab
DM
84});
85
86Ext.define('PMG.WhatConfiguration', {
87 extend: 'PMG.ObjectGroupConfiguration',
bca16cae 88 xtype: 'pmgWhatConfiguration',
c790d2ab
DM
89
90 ogclass: 'what',
91 otype_list: []
92});
93