mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-06-12 03:36:37 +00:00

some options are only relevant for some iscsi providers so only allow thos who are relevant to the selected provider and rename LIO target portal group to 'Target portal group' since it is only active when lio is chosen Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
133 lines
2.9 KiB
JavaScript
133 lines
2.9 KiB
JavaScript
/*jslint confusion: true*/
|
|
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();
|
|
}
|
|
});
|