]> git.proxmox.com Git - pmg-gui.git/blame - js/ObjectGroupConfiguration.js
dashboard: show ten of the current top receiver
[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: [],
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
79Ext.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
87Ext.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
95Ext.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