]>
Commit | Line | Data |
---|---|---|
b4659733 | 1 | /*jslint confusion: true*/ |
5bf28d89 | 2 | Ext.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 | }); |