]> git.proxmox.com Git - pmg-gui.git/blame - js/ObjectGroupConfiguration.js
quarantines: use a check mark for the dark mode filter
[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,
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
72Ext.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
80Ext.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
88Ext.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