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