]> git.proxmox.com Git - pve-manager.git/blob - www/manager/storage/ZFSEdit.js
disable animation of charts on load
[pve-manager.git] / www / manager / storage / ZFSEdit.js
1 Ext.define('PVE.storage.ZFSInputPanel', {
2 extend: 'PVE.panel.InputPanel',
3
4 onGetValues: function(values) {
5 var me = this;
6
7 if (me.create) {
8 values.type = 'zfs';
9 values.content = 'images';
10 } else {
11 delete values.storage;
12 }
13
14 values.disable = values.enable ? 0 : 1;
15 delete values.enable;
16
17 return values;
18 },
19
20 initComponent : function() {
21 var me = this;
22
23 me.column1 = [
24 {
25 xtype: me.create ? 'textfield' : 'displayfield',
26 name: 'storage',
27 height: 22, // hack: set same height as text fields
28 value: me.storageId || '',
29 fieldLabel: 'ID',
30 vtype: 'StorageId',
31 allowBlank: false
32 },
33 {
34 xtype: me.create ? 'textfield' : 'displayfield',
35 name: 'portal',
36 height: 22, // hack: set same height as text fields
37 value: '',
38 fieldLabel: gettext('Portal'),
39 allowBlank: false
40 },
41 {
42 xtype: me.create ? 'textfield' : 'displayfield',
43 name: 'pool',
44 height: 22, // hack: set same height as text fields
45 value: '',
46 fieldLabel: gettext('Pool'),
47 allowBlank: false
48 },
49 {
50 xtype: me.create ? 'textfield' : 'displayfield',
51 name: 'blocksize',
52 height: 22, // hack: set same height as text fields
53 value: '4k',
54 fieldLabel: gettext('Block Size'),
55 allowBlank: false
56 },
57 {
58 xtype: me.create ? 'textfield' : 'displayfield',
59 name: 'target',
60 height: 22, // hack: set same height as text fields
61 value: '',
62 fieldLabel: gettext('Target'),
63 allowBlank: false
64 },
65 {
66 xtype: me.create ? 'textfield' : 'displayfield',
67 name: 'comstar_tg',
68 height: 22, // hack: set same height as text fields
69 value: '',
70 fieldLabel: gettext('Target group'),
71 allowBlank: true
72 }
73 ];
74
75 me.column2 = [
76 {
77 xtype: 'pvecheckbox',
78 name: 'enable',
79 checked: true,
80 uncheckedValue: 0,
81 fieldLabel: gettext('Enable')
82 },
83 {
84 xtype: me.create ? 'pveiScsiProviderSelector' : 'displayfield',
85 name: 'iscsiprovider',
86 height: 22, // hack: set same height as text fields
87 value: 'comstar',
88 fieldLabel: gettext('iSCSI Provider'),
89 allowBlank: false
90 },
91 {
92 xtype: 'pvecheckbox',
93 name: 'sparse',
94 checked: false,
95 uncheckedValue: 0,
96 fieldLabel: gettext('Thin provision')
97 },
98 {
99 xtype: 'pvecheckbox',
100 name: 'nowritecache',
101 checked: true,
102 uncheckedValue: 0,
103 fieldLabel: gettext('Write cache')
104 },
105 {
106 xtype: me.create ? 'textfield' : 'displayfield',
107 name: 'comstar_hg',
108 height: 22, // hack: set same height as text fields
109 value: '',
110 fieldLabel: gettext('Host group'),
111 allowBlank: true
112 }
113 ];
114
115 if (me.create || me.storageId !== 'local') {
116 me.column2.unshift({
117 xtype: 'PVE.form.NodeSelector',
118 name: 'nodes',
119 fieldLabel: gettext('Nodes'),
120 emptyText: gettext('All') + ' (' +
121 gettext('No restrictions') +')',
122 multiSelect: true,
123 autoSelect: false
124 });
125 }
126
127 me.callParent();
128 }
129 });
130
131 Ext.define('PVE.storage.ZFSEdit', {
132 extend: 'PVE.window.Edit',
133
134 initComponent : function() {
135 var me = this;
136
137 me.create = !me.storageId;
138
139 if (me.create) {
140 me.url = '/api2/extjs/storage';
141 me.method = 'POST';
142 } else {
143 me.url = '/api2/extjs/storage/' + me.storageId;
144 me.method = 'PUT';
145 }
146
147 var ipanel = Ext.create('PVE.storage.ZFSInputPanel', {
148 create: me.create,
149 storageId: me.storageId
150 });
151
152 Ext.apply(me, {
153 subject: 'ZFS Storage',
154 isAdd: true,
155 items: [ ipanel ]
156 });
157
158 me.callParent();
159
160 if (!me.create) {
161 me.load({
162 success: function(response, options) {
163 var values = response.result.data;
164 if (values.nodes) {
165 values.nodes = values.nodes.split(',');
166 }
167 values.enable = values.disable ? 0 : 1;
168 ipanel.setValues(values);
169 }
170 });
171 }
172 }
173 });