]> git.proxmox.com Git - pve-manager.git/blob - www/manager6/dc/PoolView.js
ui: realm: clarify that the sync jobs really are for the realm
[pve-manager.git] / www / manager6 / dc / PoolView.js
1 Ext.define('PVE.dc.PoolView', {
2 extend: 'Ext.grid.GridPanel',
3
4 alias: ['widget.pvePoolView'],
5
6 onlineHelp: 'pveum_pools',
7
8 stateful: true,
9 stateId: 'grid-pools',
10
11 initComponent: function() {
12 var me = this;
13
14 var store = new Ext.data.Store({
15 model: 'pve-pools',
16 sorters: {
17 property: 'poolid',
18 direction: 'ASC',
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 baseurl: '/pools/',
31 callback: function() {
32 reload();
33 },
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.PoolEdit', {
43 poolid: rec.data.poolid,
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.PoolEdit', {});
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: 'poolid',
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 });