]> git.proxmox.com Git - pve-manager.git/blame - www/manager6/node/LVMThin.js
ui: eslint: fix various spacing related issues
[pve-manager.git] / www / manager6 / node / LVMThin.js
CommitLineData
64f9c6d6
DC
1Ext.define('PVE.node.CreateLVMThin', {
2 extend: 'Proxmox.window.Edit',
3 xtype: 'pveCreateLVMThin',
4
5 subject: 'LVM Thinpool',
6
7 showProgress: true,
8
705edf41 9 onlineHelp: 'chapter_lvm',
64f9c6d6 10
8058410f 11 initComponent: function() {
64f9c6d6
DC
12 var me = this;
13
14 if (!me.nodename) {
15 throw "no node name specified";
16 }
17
18 me.isCreate = true;
19
20 Ext.applyIf(me, {
21 url: "/nodes/" + me.nodename + "/disks/lvmthin",
22 method: 'POST',
23 items: [
24 {
d0cfe2ea 25 xtype: 'pmxDiskSelector',
64f9c6d6
DC
26 name: 'device',
27 nodename: me.nodename,
28 diskType: 'unused',
29 fieldLabel: gettext('Disk'),
f6710aac 30 allowBlank: false,
64f9c6d6
DC
31 },
32 {
33 xtype: 'proxmoxtextfield',
34 name: 'name',
35 fieldLabel: gettext('Name'),
f6710aac 36 allowBlank: false,
64f9c6d6
DC
37 },
38 {
39 xtype: 'proxmoxcheckbox',
40 name: 'add_storage',
41 fieldLabel: gettext('Add Storage'),
f6710aac
TL
42 value: '1',
43 },
44 ],
64f9c6d6
DC
45 });
46
47 me.callParent();
f6710aac 48 },
64f9c6d6
DC
49});
50
51Ext.define('PVE.node.LVMThinList', {
52 extend: 'Ext.grid.Panel',
53 xtype: 'pveLVMThinList',
54
55 emptyText: gettext('No thinpools found'),
56 stateful: true,
57 stateId: 'grid-node-lvmthin',
58 columns: [
59 {
60 text: gettext('Name'),
61 dataIndex: 'lv',
f6710aac 62 flex: 1,
64f9c6d6
DC
63 },
64 {
65 header: gettext('Usage'),
66 width: 110,
67 dataIndex: 'usage',
68 tdCls: 'x-progressbar-default-cell',
69 xtype: 'widgetcolumn',
70 widget: {
f6710aac
TL
71 xtype: 'pveProgressBar',
72 },
64f9c6d6
DC
73 },
74 {
75 header: gettext('Size'),
76 width: 100,
77 align: 'right',
78 sortable: true,
79 renderer: Proxmox.Utils.format_size,
f6710aac 80 dataIndex: 'lv_size',
64f9c6d6
DC
81 },
82 {
83 header: gettext('Used'),
84 width: 100,
85 align: 'right',
86 sortable: true,
87 renderer: Proxmox.Utils.format_size,
f6710aac 88 dataIndex: 'used',
64f9c6d6
DC
89 },
90 {
91 header: gettext('Metadata Usage'),
92 width: 120,
93 dataIndex: 'metadata_usage',
94 tdCls: 'x-progressbar-default-cell',
95 xtype: 'widgetcolumn',
96 widget: {
f6710aac
TL
97 xtype: 'pveProgressBar',
98 },
64f9c6d6
DC
99 },
100 {
101 header: gettext('Metadata Size'),
102 width: 120,
103 align: 'right',
104 sortable: true,
105 renderer: Proxmox.Utils.format_size,
f6710aac 106 dataIndex: 'metadata_size',
64f9c6d6
DC
107 },
108 {
109 header: gettext('Metadata Used'),
110 width: 125,
111 align: 'right',
112 sortable: true,
113 renderer: Proxmox.Utils.format_size,
f6710aac
TL
114 dataIndex: 'metadata_used',
115 },
64f9c6d6
DC
116 ],
117
118 rootVisible: false,
119 useArrows: true,
120
121 tbar: [
122 {
123 text: gettext('Reload'),
124 iconCls: 'fa fa-refresh',
125 handler: function() {
126 var me = this.up('panel');
127 me.reload();
f6710aac 128 },
64f9c6d6
DC
129 },
130 {
131 text: gettext('Create') + ': Thinpool',
132 handler: function() {
133 var me = this.up('panel');
134 var win = Ext.create('PVE.node.CreateLVMThin', {
135 nodename: me.nodename,
136 taskDone: function() {
137 me.reload();
f6710aac 138 },
64f9c6d6 139 }).show();
f6710aac
TL
140 },
141 },
64f9c6d6
DC
142 ],
143
144 reload: function() {
145 var me = this;
146 me.store.load();
147 me.store.sort();
148 },
149
150 listeners: {
151 activate: function() {
152 var me = this;
153 me.reload();
f6710aac 154 },
64f9c6d6
DC
155 },
156
157 initComponent: function() {
64f9c6d6
DC
158 var me = this;
159
160 me.nodename = me.pveSelNode.data.node;
161 if (!me.nodename) {
162 throw "no node name specified";
163 }
164
165 Ext.apply(me, {
166 store: {
167 fields: ['lv', 'lv_size', 'used', 'metadata_size', 'metadata_used',
168 {
169 type: 'number',
170 name: 'usage',
171 calculate: function(data) {
172 return data.used/data.lv_size;
f6710aac 173 },
64f9c6d6
DC
174 },
175 {
176 type: 'number',
177 name: 'metadata_usage',
178 calculate: function(data) {
179 return data.metadata_used/data.metadata_size;
f6710aac
TL
180 },
181 },
64f9c6d6
DC
182 ],
183 proxy: {
184 type: 'proxmox',
f6710aac 185 url: "/api2/json/nodes/" + me.nodename + '/disks/lvmthin',
64f9c6d6 186 },
f6710aac
TL
187 sorters: 'lv',
188 },
64f9c6d6
DC
189 });
190
191 me.callParent();
192
193 Proxmox.Utils.monStoreErrors(me, me.getStore(), true);
194 me.reload();
f6710aac 195 },
64f9c6d6
DC
196});
197