]> git.proxmox.com Git - pmg-gui.git/blob - js/RuleConfiguration.js
improve rule GUI
[pmg-gui.git] / js / RuleConfiguration.js
1 Ext.define('PMG.RuleConfiguration', {
2 extend: 'Ext.panel.Panel',
3 alias: 'widget.pmgRuleConfiguration',
4
5 title: gettext('Rules'),
6
7 layout: { type: 'hbox', align: 'stretch' },
8 border: false,
9
10 initComponent : function() {
11 var me = this;
12
13 var left = Ext.create('PMG.RuleList', {
14 width: 300,
15 subject: me.title,
16 border: false
17 });
18
19 var right = Ext.create('PMG.RuleInfo', {
20 border: false,
21 flex: 1,
22 listeners: {
23 dblclickRuleInfo: function(w, e, t, ruledata) {
24 // test if the correct groups is selected (just to be sure)
25 var rec = left.selModel.getSelection()[0];
26 if (rec && rec.data && rec.data.id === ruledata.id) {
27 left.run_editor();
28 return;
29 }
30 }
31 }
32 });
33
34 me.mon(left.store, "refresh", function() {
35 right.reload();
36 });
37
38 me.mon(left.selModel, "selectionchange", function() {
39 var rec = left.selModel.getSelection()[0];
40 if (!(rec && rec.data && rec.data.id)) {
41 right.setBaseUrl(undefined);
42 return;
43 }
44 var baseurl = '/config/ruledb/rules/' + rec.data.id;
45 right.setBaseUrl(baseurl);
46 });
47
48 me.items = [ left, { xtype: 'splitter' }, right ];
49
50 me.callParent();
51 }
52 });