]> git.proxmox.com Git - pve-manager.git/blob - www/manager6/dc/GroupView.js
use Proxmox.Utils instead of PVE.Utils
[pve-manager.git] / www / manager6 / dc / GroupView.js
1 Ext.define('PVE.dc.GroupView', {
2 extend: 'Ext.grid.GridPanel',
3
4 alias: ['widget.pveGroupView'],
5
6 onlineHelp: 'pveum_groups',
7
8 stateful: true,
9 stateId: 'grid-groups',
10
11 initComponent : function() {
12 var me = this;
13
14 var store = new Ext.data.Store({
15 model: 'pve-groups',
16 sorters: {
17 property: 'groupid',
18 order: 'DESC'
19 }
20 });
21
22 var reload = function() {
23 store.load();
24 };
25
26 var sm = Ext.create('Ext.selection.RowModel', {});
27
28 var remove_btn = Ext.create('Proxmox.button.StdRemoveButton', {
29 selModel: sm,
30 callback: function() {
31 reload();
32 },
33 baseurl: '/access/groups/'
34 });
35
36 var run_editor = function() {
37 var rec = sm.getSelection()[0];
38 if (!rec) {
39 return;
40 }
41
42 var win = Ext.create('PVE.dc.GroupEdit',{
43 groupid: rec.data.groupid
44 });
45 win.on('destroy', reload);
46 win.show();
47 };
48
49 var edit_btn = new Proxmox.button.Button({
50 text: gettext('Edit'),
51 disabled: true,
52 selModel: sm,
53 handler: run_editor
54 });
55
56 var tbar = [
57 {
58 text: gettext('Create'),
59 handler: function() {
60 var win = Ext.create('PVE.dc.GroupEdit', {});
61 win.on('destroy', reload);
62 win.show();
63 }
64 },
65 edit_btn, remove_btn
66 ];
67
68 Proxmox.Utils.monStoreErrors(me, store);
69
70 Ext.apply(me, {
71 store: store,
72 selModel: sm,
73 tbar: tbar,
74 viewConfig: {
75 trackOver: false
76 },
77 columns: [
78 {
79 header: gettext('Name'),
80 width: 200,
81 sortable: true,
82 dataIndex: 'groupid'
83 },
84 {
85 header: gettext('Comment'),
86 sortable: false,
87 renderer: Ext.String.htmlEncode,
88 dataIndex: 'comment',
89 flex: 1
90 }
91 ],
92 listeners: {
93 activate: reload,
94 itemdblclick: run_editor
95 }
96 });
97
98 me.callParent();
99 }
100 });