]> git.proxmox.com Git - pve-manager.git/blob - www/manager6/storage/LVMEdit.js
ui: eslint: fix trailing comma and comma related whitespaces errors
[pve-manager.git] / www / manager6 / storage / LVMEdit.js
1 Ext.define('PVE.storage.VgSelector', {
2 extend: 'Ext.form.field.ComboBox',
3 alias: 'widget.pveVgSelector',
4 valueField: 'vg',
5 displayField: 'vg',
6 queryMode: 'local',
7 editable: false,
8 initComponent : function() {
9 var me = this;
10
11 if (!me.nodename) {
12 me.nodename = 'localhost';
13 }
14
15 var store = Ext.create('Ext.data.Store', {
16 autoLoad: {}, // true,
17 fields: [ 'vg', 'size', 'free' ],
18 proxy: {
19 type: 'proxmox',
20 url: '/api2/json/nodes/' + me.nodename + '/scan/lvm',
21 },
22 });
23
24 store.sort('vg', 'ASC');
25
26 Ext.apply(me, {
27 store: store,
28 listConfig: {
29 loadingText: gettext('Scanning...'),
30 },
31 });
32
33 me.callParent();
34 },
35 });
36
37 Ext.define('PVE.storage.BaseStorageSelector', {
38 extend: 'Ext.form.field.ComboBox',
39 alias: 'widget.pveBaseStorageSelector',
40
41 existingGroupsText: gettext("Existing volume groups"),
42 queryMode: 'local',
43 editable: false,
44 value: '',
45 valueField: 'storage',
46 displayField: 'text',
47 initComponent : function() {
48 var me = this;
49
50 var store = Ext.create('Ext.data.Store', {
51 autoLoad: {
52 addRecords: true,
53 params: {
54 type: 'iscsi',
55 },
56 },
57 fields: [ 'storage', 'type', 'content',
58 {
59 name: 'text',
60 convert: function(value, record) {
61 if (record.data.storage) {
62 return record.data.storage + " (iSCSI)";
63 } else {
64 return me.existingGroupsText;
65 }
66 },
67 }],
68 proxy: {
69 type: 'proxmox',
70 url: '/api2/json/storage/',
71 },
72 });
73
74 store.loadData([{ storage: '' }], true);
75
76 store.sort('storage', 'ASC');
77
78 Ext.apply(me, {
79 store: store,
80 });
81
82 me.callParent();
83 },
84 });
85
86 Ext.define('PVE.storage.LVMInputPanel', {
87 extend: 'PVE.panel.StorageBase',
88
89 onlineHelp: 'storage_lvm',
90
91 initComponent : function() {
92 var me = this;
93
94 me.column1 = [];
95
96 var vgnameField = Ext.createWidget(me.isCreate ? 'textfield' : 'displayfield', {
97 name: 'vgname',
98 hidden: !!me.isCreate,
99 disabled: !!me.isCreate,
100 value: '',
101 fieldLabel: gettext('Volume group'),
102 allowBlank: false,
103 });
104
105 if (me.isCreate) {
106 var vgField = Ext.create('PVE.storage.VgSelector', {
107 name: 'vgname',
108 fieldLabel: gettext('Volume group'),
109 allowBlank: false,
110 });
111
112 var baseField = Ext.createWidget('pveFileSelector', {
113 name: 'base',
114 hidden: true,
115 disabled: true,
116 nodename: 'localhost',
117 storageContent: 'images',
118 fieldLabel: gettext('Base volume'),
119 allowBlank: false,
120 });
121
122 me.column1.push({
123 xtype: 'pveBaseStorageSelector',
124 name: 'basesel',
125 fieldLabel: gettext('Base storage'),
126 submitValue: false,
127 listeners: {
128 change: function(f, value) {
129 if (value) {
130 vgnameField.setVisible(true);
131 vgnameField.setDisabled(false);
132 vgField.setVisible(false);
133 vgField.setDisabled(true);
134 baseField.setVisible(true);
135 baseField.setDisabled(false);
136 } else {
137 vgnameField.setVisible(false);
138 vgnameField.setDisabled(true);
139 vgField.setVisible(true);
140 vgField.setDisabled(false);
141 baseField.setVisible(false);
142 baseField.setDisabled(true);
143 }
144 baseField.setStorage(value);
145 },
146 },
147 });
148
149 me.column1.push(baseField);
150
151 me.column1.push(vgField);
152 }
153
154 me.column1.push(vgnameField);
155
156 // here value is an array,
157 // while before it was a string
158 me.column1.push({
159 xtype: 'pveContentTypeSelector',
160 cts: ['images', 'rootdir'],
161 fieldLabel: gettext('Content'),
162 name: 'content',
163 value: ['images', 'rootdir'],
164 multiSelect: true,
165 allowBlank: false,
166 });
167
168 me.column2 = [
169 {
170 xtype: 'proxmoxcheckbox',
171 name: 'shared',
172 uncheckedValue: 0,
173 fieldLabel: gettext('Shared'),
174 },
175 ];
176
177 me.callParent();
178 },
179 });