]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/storage/LvmThinEdit.js
1 Ext
.define('PVE.storage.TPoolSelector', {
2 extend
: 'PVE.form.ComboBoxSetStoreNode',
3 alias
: 'widget.pveTPSelector',
12 emptyText
: PVE
.Utils
.renderNotFound('Thin-Pool'),
22 apiSuffix
: '/scan/lvmthin',
27 if (!me
.isDisabled()) {
32 setVG: function(myvg
) {
35 me
.getStore().getProxy().setExtraParams({ vg
: myvg
});
39 setNodeName: function(value
) {
41 me
.callParent([value
]);
45 initComponent: function() {
49 me
.nodename
= 'localhost';
52 let store
= Ext
.create('Ext.data.Store', {
56 url
: `${me.apiBaseUrl}${me.nodename}${me.apiSuffix}`,
60 store
.sort('lv', 'ASC');
70 Ext
.define('PVE.storage.BaseVGSelector', {
71 extend
: 'PVE.form.ComboBoxSetStoreNode',
72 alias
: 'widget.pveBaseVGSelector',
89 showNodeSelector
: true,
92 apiSuffix
: '/scan/lvm',
95 setNodeName: function(value
) {
97 me
.callParent([value
]);
101 initComponent: function() {
105 me
.nodename
= 'localhost';
108 let store
= Ext
.create('Ext.data.Store', {
110 fields
: ['vg', 'size', 'free'],
113 url
: `${me.apiBaseUrl}${me.nodename}${me.apiSuffix}`,
125 Ext
.define('PVE.storage.LvmThinInputPanel', {
126 extend
: 'PVE.panel.StorageBase',
127 mixins
: ['Proxmox.Mixin.CBind'],
129 onlineHelp
: 'storage_lvmthin',
133 xtype
: 'pmxDisplayEditField',
135 editable
: '{isCreate}',
139 fieldLabel
: gettext('Volume group'),
142 xtype
: 'pveBaseVGSelector',
144 nodechanged: function(value
) {
145 let panel
= this.up('inputpanel');
146 panel
.lookup('thinPoolSelector').setNodeName(value
);
147 panel
.lookup('storageNodeRestriction').setValue(value
);
149 change: function(f
, value
) {
150 let vgField
= this.up('inputpanel').lookup('thinPoolSelector');
151 if (vgField
&& !f
.isDisabled()) {
152 vgField
.setDisabled(!value
);
153 vgField
.setVG(value
);
154 vgField
.setValue('');
161 xtype
: 'pmxDisplayEditField',
163 editable
: '{isCreate}',
167 fieldLabel
: gettext('Thin Pool'),
171 xtype
: 'pveTPSelector',
172 reference
: 'thinPoolSelector',
177 xtype
: 'pveContentTypeSelector',
178 cts
: ['images', 'rootdir'],
179 fieldLabel
: gettext('Content'),
181 value
: ['images', 'rootdir'],