]> git.proxmox.com Git - pve-manager.git/blame - www/manager6/storage/LVMEdit.js
ui: eslint: fix various spacing related issues
[pve-manager.git] / www / manager6 / storage / LVMEdit.js
CommitLineData
16b294b5
DM
1Ext.define('PVE.storage.VgSelector', {
2 extend: 'Ext.form.field.ComboBox',
3 alias: 'widget.pveVgSelector',
c2317525
DC
4 valueField: 'vg',
5 displayField: 'vg',
6 queryMode: 'local',
7 editable: false,
8058410f 8 initComponent: function() {
16b294b5
DM
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,
8058410f 17 fields: ['vg', 'size', 'free'],
16b294b5 18 proxy: {
56a353b9 19 type: 'proxmox',
f6710aac
TL
20 url: '/api2/json/nodes/' + me.nodename + '/scan/lvm',
21 },
16b294b5
DM
22 });
23
9e9ab96f
WL
24 store.sort('vg', 'ASC');
25
16b294b5
DM
26 Ext.apply(me, {
27 store: store,
16b294b5 28 listConfig: {
f6710aac
TL
29 loadingText: gettext('Scanning...'),
30 },
16b294b5
DM
31 });
32
33 me.callParent();
f6710aac 34 },
16b294b5
DM
35});
36
37Ext.define('PVE.storage.BaseStorageSelector', {
38 extend: 'Ext.form.field.ComboBox',
39 alias: 'widget.pveBaseStorageSelector',
40
41 existingGroupsText: gettext("Existing volume groups"),
c2317525
DC
42 queryMode: 'local',
43 editable: false,
44 value: '',
45 valueField: 'storage',
46 displayField: 'text',
8058410f 47 initComponent: function() {
16b294b5
DM
48 var me = this;
49
50 var store = Ext.create('Ext.data.Store', {
51 autoLoad: {
52 addRecords: true,
53 params: {
f6710aac
TL
54 type: 'iscsi',
55 },
16b294b5 56 },
8058410f 57 fields: ['storage', 'type', 'content',
16b294b5
DM
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 }
f6710aac 66 },
16b294b5
DM
67 }],
68 proxy: {
56a353b9 69 type: 'proxmox',
f6710aac
TL
70 url: '/api2/json/storage/',
71 },
16b294b5
DM
72 });
73
74 store.loadData([{ storage: '' }], true);
75
9e9ab96f
WL
76 store.sort('storage', 'ASC');
77
16b294b5 78 Ext.apply(me, {
f6710aac 79 store: store,
16b294b5
DM
80 });
81
82 me.callParent();
f6710aac 83 },
16b294b5
DM
84});
85
86Ext.define('PVE.storage.LVMInputPanel', {
f28ec3e4 87 extend: 'PVE.panel.StorageBase',
16b294b5 88
96988dfa
DC
89 onlineHelp: 'storage_lvm',
90
8058410f 91 initComponent: function() {
16b294b5
DM
92 var me = this;
93
f28ec3e4 94 me.column1 = [];
16b294b5 95
d5e771ce 96 var vgnameField = Ext.createWidget(me.isCreate ? 'textfield' : 'displayfield', {
16b294b5 97 name: 'vgname',
d5e771ce
EK
98 hidden: !!me.isCreate,
99 disabled: !!me.isCreate,
16b294b5
DM
100 value: '',
101 fieldLabel: gettext('Volume group'),
f6710aac 102 allowBlank: false,
16b294b5
DM
103 });
104
d5e771ce 105 if (me.isCreate) {
16b294b5
DM
106 var vgField = Ext.create('PVE.storage.VgSelector', {
107 name: 'vgname',
108 fieldLabel: gettext('Volume group'),
f6710aac 109 allowBlank: false,
16b294b5
DM
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'),
f6710aac 119 allowBlank: false,
16b294b5
DM
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);
f6710aac
TL
145 },
146 },
16b294b5
DM
147 });
148
149 me.column1.push(baseField);
150
151 me.column1.push(vgField);
152 }
153
154 me.column1.push(vgnameField);
155
2a4971d8 156 // here value is an array,
ec0bd652 157 // while before it was a string
16b294b5
DM
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,
f6710aac 165 allowBlank: false,
16b294b5
DM
166 });
167
168 me.column2 = [
16b294b5 169 {
896c0d50 170 xtype: 'proxmoxcheckbox',
16b294b5
DM
171 name: 'shared',
172 uncheckedValue: 0,
f6710aac
TL
173 fieldLabel: gettext('Shared'),
174 },
16b294b5
DM
175 ];
176
177 me.callParent();
f6710aac 178 },
16b294b5 179});