]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/storage/LvmThinEdit.js
1 Ext
.define('PVE.storage.TPoolSelector', {
2 extend
: 'Ext.form.field.ComboBox',
3 alias
: 'widget.pveTPSelector',
10 doRawQuery: function() {
13 onTriggerClick: function() {
16 if (!me
.queryCaching
|| me
.lastQuery
!== me
.vg
) {
25 setVG: function(myvg
) {
31 initComponent : function() {
35 me
.nodename
= 'localhost';
38 var store
= Ext
.create('Ext.data.Store', {
42 url
: '/api2/json/nodes/' + me
.nodename
+ '/scan/lvmthin'
46 store
.sort('lv', 'ASC');
51 loadingText
: gettext('Scanning...')
59 Ext
.define('PVE.storage.BaseVGSelector', {
60 extend
: 'Ext.form.field.ComboBox',
61 alias
: 'widget.pveBaseVGSelector',
67 initComponent : function() {
71 me
.nodename
= 'localhost';
74 var store
= Ext
.create('Ext.data.Store', {
76 fields
: [ 'vg', 'size', 'free'],
79 url
: '/api2/json/nodes/' + me
.nodename
+ '/scan/lvm'
86 loadingText
: gettext('Scanning...')
94 Ext
.define('PVE.storage.LvmThinInputPanel', {
95 extend
: 'PVE.panel.InputPanel',
97 onGetValues: function(values
) {
101 values
.type
= 'lvmthin';
103 delete values
.storage
;
106 values
.disable
= values
.enable
? 0 : 1;
107 delete values
.enable
;
112 initComponent : function() {
117 xtype
: me
.isCreate
? 'textfield' : 'displayfield',
119 value
: me
.storageId
|| '',
122 submitValue
: !!me
.isCreate
,
127 var vgnameField
= Ext
.createWidget(me
.isCreate
? 'textfield' : 'displayfield', {
129 hidden
: !!me
.isCreate
,
130 disabled
: !!me
.isCreate
,
132 fieldLabel
: gettext('Volume group'),
136 var thinpoolField
= Ext
.createWidget(me
.isCreate
? 'textfield' : 'displayfield', {
138 hidden
: !!me
.isCreate
,
139 disabled
: !!me
.isCreate
,
141 fieldLabel
: gettext('Thin Pool'),
146 var vgField
= Ext
.create('PVE.storage.TPoolSelector', {
148 fieldLabel
: gettext('Thin Pool'),
153 xtype
: 'pveBaseVGSelector',
155 fieldLabel
: gettext('Volume group'),
157 change: function(f
, value
) {
159 vgField
.setVG(value
);
160 vgField
.setValue('');
166 me
.column1
.push(vgField
);
169 me
.column1
.push(vgnameField
);
171 me
.column1
.push(thinpoolField
);
173 // here value is an array,
174 // while before it was a string
175 /*jslint confusion: true*/
177 xtype
: 'pveContentTypeSelector',
178 cts
: ['images', 'rootdir'],
179 fieldLabel
: gettext('Content'),
181 value
: ['images', 'rootdir'],
185 /*jslint confusion: false*/
189 xtype
: 'pveNodeSelector',
191 fieldLabel
: gettext('Nodes'),
192 emptyText
: gettext('All') + ' (' +
193 gettext('No restrictions') +')',
198 xtype
: 'proxmoxcheckbox',
202 fieldLabel
: gettext('Enable')
210 Ext
.define('PVE.storage.LvmThinEdit', {
211 extend
: 'PVE.window.Edit',
213 initComponent : function() {
216 me
.isCreate
= !me
.storageId
;
219 me
.url
= '/api2/extjs/storage';
222 me
.url
= '/api2/extjs/storage/' + me
.storageId
;
226 var ipanel
= Ext
.create('PVE.storage.LvmThinInputPanel', {
227 isCreate
: me
.isCreate
,
228 storageId
: me
.storageId
232 subject
: PVE
.Utils
.format_storage_type('lvmthin'),
241 success: function(response
, options
) {
242 var values
= response
.result
.data
;
243 var ctypes
= values
.content
|| '';
245 values
.content
= ctypes
.split(',');
248 values
.nodes
= values
.nodes
.split(',');
250 values
.enable
= values
.disable
? 0 : 1;
251 ipanel
.setValues(values
);