]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/storage/ZFSPoolEdit.js
1 Ext
.define('PVE.storage.ZFSPoolSelector', {
2 extend
: 'Ext.form.field.ComboBox',
3 alias
: 'widget.pveZFSPoolSelector',
9 loadingText
: gettext('Scanning...')
11 initComponent : function() {
15 me
.nodename
= 'localhost';
18 var store
= Ext
.create('Ext.data.Store', {
19 autoLoad
: {}, // true,
20 fields
: [ 'pool', 'size', 'free' ],
23 url
: '/api2/json/nodes/' + me
.nodename
+ '/scan/zfs'
27 store
.sort('pool', 'ASC');
37 Ext
.define('PVE.storage.ZFSPoolInputPanel', {
38 extend
: 'PVE.panel.InputPanel',
40 onGetValues: function(values
) {
44 values
.type
= 'zfspool';
46 delete values
.storage
;
49 values
.disable
= values
.enable
? 0 : 1;
55 initComponent : function() {
60 xtype
: me
.create
? 'textfield' : 'displayfield',
62 value
: me
.storageId
|| '',
70 me
.column1
.push(Ext
.create('PVE.storage.ZFSPoolSelector', {
72 fieldLabel
: gettext('ZFS Pool'),
76 me
.column1
.push(Ext
.createWidget('displayfield', {
79 fieldLabel
: gettext('ZFS Pool'),
85 // while before it was a string
86 /*jslint confusion: true*/
88 {xtype
: 'pveContentTypeSelector',
89 cts
: ['images', 'rootdir'],
90 fieldLabel
: gettext('Content'),
92 value
: ['images', 'rootdir'],
96 /*jslint confusion: false*/
103 fieldLabel
: gettext('Enable')
106 xtype
: 'pvecheckbox',
110 fieldLabel
: gettext('Thin provision')
114 if (me
.create
|| me
.storageId
!== 'local') {
116 xtype
: 'pveNodeSelector',
118 fieldLabel
: gettext('Nodes'),
119 emptyText
: gettext('All') + ' (' +
120 gettext('No restrictions') +')',
130 Ext
.define('PVE.storage.ZFSPoolEdit', {
131 extend
: 'PVE.window.Edit',
133 initComponent : function() {
136 me
.create
= !me
.storageId
;
139 me
.url
= '/api2/extjs/storage';
142 me
.url
= '/api2/extjs/storage/' + me
.storageId
;
146 var ipanel
= Ext
.create('PVE.storage.ZFSPoolInputPanel', {
148 storageId
: me
.storageId
152 subject
: PVE
.Utils
.format_storage_type('zfspool'),
161 success: function(response
, options
) {
162 var values
= response
.result
.data
;
163 var ctypes
= values
.content
|| '';
165 values
.content
= ctypes
.split(',');
168 values
.nodes
= values
.nodes
.split(',');
170 values
.enable
= values
.disable
? 0 : 1;
171 ipanel
.setValues(values
);