]> git.proxmox.com Git - pve-manager.git/blame - www/manager6/storage/ZFSEdit.js
ui: storage: add enable/hide logic for LIO TPG field
[pve-manager.git] / www / manager6 / storage / ZFSEdit.js
CommitLineData
b4659733 1/*jslint confusion: true*/
5bf28d89 2Ext.define('PVE.storage.ZFSInputPanel', {
f28ec3e4 3 extend: 'PVE.panel.StorageBase',
5bf28d89 4
b4659733
TL
5 viewModel: {
6 parent: null,
7 data: {
8 isLIO: false
9 }
10 },
11
12 controller: {
13 xclass: 'Ext.app.ViewController',
14 control: {
15 'field[name=iscsiprovider]': {
16 change: 'changeISCSIProvider'
17 }
18 },
19 changeISCSIProvider: function(f, newVal, oldVal) {
20 var vm = this.getViewModel();
21 vm.set('isLIO', newVal === 'LIO');
22 }
23 },
24
5bf28d89
DM
25 onGetValues: function(values) {
26 var me = this;
27
d5e771ce 28 if (me.isCreate) {
5bf28d89 29 values.content = 'images';
5bf28d89
DM
30 }
31
f536f691
DM
32 values.nowritecache = values.writecache ? 0 : 1;
33 delete values.writecache;
34
f28ec3e4
TL
35 return me.callParent([values]);
36 },
37
38 setValues: function diff(values) {
39 values.writecache = values.nowritecache ? 0 : 1;
40 this.callParent([values]);
5bf28d89
DM
41 },
42
43 initComponent : function() {
44 var me = this;
45
46 me.column1 = [
5bf28d89 47 {
d5e771ce 48 xtype: me.isCreate ? 'textfield' : 'displayfield',
5bf28d89 49 name: 'portal',
5bf28d89
DM
50 value: '',
51 fieldLabel: gettext('Portal'),
52 allowBlank: false
53 },
54 {
d5e771ce 55 xtype: me.isCreate ? 'textfield' : 'displayfield',
5bf28d89 56 name: 'pool',
5bf28d89
DM
57 value: '',
58 fieldLabel: gettext('Pool'),
59 allowBlank: false
60 },
61 {
d5e771ce 62 xtype: me.isCreate ? 'textfield' : 'displayfield',
5bf28d89 63 name: 'blocksize',
5bf28d89
DM
64 value: '4k',
65 fieldLabel: gettext('Block Size'),
66 allowBlank: false
67 },
68 {
d5e771ce 69 xtype: me.isCreate ? 'textfield' : 'displayfield',
5bf28d89 70 name: 'target',
5bf28d89
DM
71 value: '',
72 fieldLabel: gettext('Target'),
73 allowBlank: false
74 },
75 {
d5e771ce 76 xtype: me.isCreate ? 'textfield' : 'displayfield',
5bf28d89 77 name: 'comstar_tg',
5bf28d89
DM
78 value: '',
79 fieldLabel: gettext('Target group'),
80 allowBlank: true
81 }
82 ];
83
84 me.column2 = [
5bf28d89 85 {
d5e771ce 86 xtype: me.isCreate ? 'pveiScsiProviderSelector' : 'displayfield',
5bf28d89 87 name: 'iscsiprovider',
5bf28d89
DM
88 value: 'comstar',
89 fieldLabel: gettext('iSCSI Provider'),
90 allowBlank: false
91 },
92 {
896c0d50 93 xtype: 'proxmoxcheckbox',
5bf28d89
DM
94 name: 'sparse',
95 checked: false,
96 uncheckedValue: 0,
97 fieldLabel: gettext('Thin provision')
98 },
99 {
896c0d50 100 xtype: 'proxmoxcheckbox',
f536f691 101 name: 'writecache',
5bf28d89
DM
102 checked: true,
103 uncheckedValue: 0,
104 fieldLabel: gettext('Write cache')
105 },
106 {
d5e771ce 107 xtype: me.isCreate ? 'textfield' : 'displayfield',
5bf28d89 108 name: 'comstar_hg',
5bf28d89
DM
109 value: '',
110 fieldLabel: gettext('Host group'),
111 allowBlank: true
209923b3
UR
112 },
113 {
114 xtype: me.isCreate ? 'textfield' : 'displayfield',
115 name: 'lio_tpg',
116 value: '',
b4659733
TL
117 bind: me.isCreate ? { disabled: '{!isLIO}' } : { hidden: '{!isLIO}' },
118 fieldLabel: gettext('LIO target portal group')
5bf28d89
DM
119 }
120 ];
121
5bf28d89
DM
122 me.callParent();
123 }
124});