mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-05-24 03:36:50 +00:00
132 lines
2.9 KiB
JavaScript
132 lines
2.9 KiB
JavaScript
Ext.define('PVE.storage.ZFSInputPanel', {
|
|
extend: 'PVE.panel.StorageBase',
|
|
|
|
viewModel: {
|
|
parent: null,
|
|
data: {
|
|
isLIO: false,
|
|
isComstar: true,
|
|
hasWriteCacheOption: true
|
|
}
|
|
},
|
|
|
|
controller: {
|
|
xclass: 'Ext.app.ViewController',
|
|
control: {
|
|
'field[name=iscsiprovider]': {
|
|
change: 'changeISCSIProvider'
|
|
}
|
|
},
|
|
changeISCSIProvider: function(f, newVal, oldVal) {
|
|
var vm = this.getViewModel();
|
|
vm.set('isLIO', newVal === 'LIO');
|
|
vm.set('isComstar', newVal === 'comstar');
|
|
vm.set('hasWriteCacheOption', newVal === 'comstar' || newVal === 'istgt');
|
|
}
|
|
},
|
|
|
|
onGetValues: function(values) {
|
|
var me = this;
|
|
|
|
if (me.isCreate) {
|
|
values.content = 'images';
|
|
}
|
|
|
|
values.nowritecache = values.writecache ? 0 : 1;
|
|
delete values.writecache;
|
|
|
|
return me.callParent([values]);
|
|
},
|
|
|
|
setValues: function diff(values) {
|
|
values.writecache = values.nowritecache ? 0 : 1;
|
|
this.callParent([values]);
|
|
},
|
|
|
|
initComponent : function() {
|
|
var me = this;
|
|
|
|
me.column1 = [
|
|
{
|
|
xtype: me.isCreate ? 'textfield' : 'displayfield',
|
|
name: 'portal',
|
|
value: '',
|
|
fieldLabel: gettext('Portal'),
|
|
allowBlank: false
|
|
},
|
|
{
|
|
xtype: me.isCreate ? 'textfield' : 'displayfield',
|
|
name: 'pool',
|
|
value: '',
|
|
fieldLabel: gettext('Pool'),
|
|
allowBlank: false
|
|
},
|
|
{
|
|
xtype: me.isCreate ? 'textfield' : 'displayfield',
|
|
name: 'blocksize',
|
|
value: '4k',
|
|
fieldLabel: gettext('Block Size'),
|
|
allowBlank: false
|
|
},
|
|
{
|
|
xtype: me.isCreate ? 'textfield' : 'displayfield',
|
|
name: 'target',
|
|
value: '',
|
|
fieldLabel: gettext('Target'),
|
|
allowBlank: false
|
|
},
|
|
{
|
|
xtype: me.isCreate ? 'textfield' : 'displayfield',
|
|
name: 'comstar_tg',
|
|
value: '',
|
|
fieldLabel: gettext('Target group'),
|
|
bind: me.isCreate ? { disabled: '{!isComstar}' } : { hidden: '{!isComstar}' },
|
|
allowBlank: true
|
|
}
|
|
];
|
|
|
|
me.column2 = [
|
|
{
|
|
xtype: me.isCreate ? 'pveiScsiProviderSelector' : 'displayfield',
|
|
name: 'iscsiprovider',
|
|
value: 'comstar',
|
|
fieldLabel: gettext('iSCSI Provider'),
|
|
allowBlank: false
|
|
},
|
|
{
|
|
xtype: 'proxmoxcheckbox',
|
|
name: 'sparse',
|
|
checked: false,
|
|
uncheckedValue: 0,
|
|
fieldLabel: gettext('Thin provision')
|
|
},
|
|
{
|
|
xtype: 'proxmoxcheckbox',
|
|
name: 'writecache',
|
|
checked: true,
|
|
bind: me.isCreate ? { disabled: '{!hasWriteCacheOption}' } : { hidden: '{!hasWriteCacheOption}' },
|
|
uncheckedValue: 0,
|
|
fieldLabel: gettext('Write cache')
|
|
},
|
|
{
|
|
xtype: me.isCreate ? 'textfield' : 'displayfield',
|
|
name: 'comstar_hg',
|
|
value: '',
|
|
bind: me.isCreate ? { disabled: '{!isComstar}' } : { hidden: '{!isComstar}' },
|
|
fieldLabel: gettext('Host group'),
|
|
allowBlank: true
|
|
},
|
|
{
|
|
xtype: me.isCreate ? 'textfield' : 'displayfield',
|
|
name: 'lio_tpg',
|
|
value: '',
|
|
bind: me.isCreate ? { disabled: '{!isLIO}' } : { hidden: '{!isLIO}' },
|
|
allowBlank: false,
|
|
fieldLabel: gettext('Target portal group')
|
|
}
|
|
];
|
|
|
|
me.callParent();
|
|
}
|
|
});
|