]> git.proxmox.com Git - pve-manager.git/blob - www/manager6/storage/NFSEdit.js
fix lint errors introduced by NFS version option patch
[pve-manager.git] / www / manager6 / storage / NFSEdit.js
1 /*jslint confusion: true*/
2 Ext.define('PVE.storage.NFSScan', {
3 extend: 'Ext.form.field.ComboBox',
4 alias: 'widget.pveNFSScan',
5
6 queryParam: 'server',
7
8 valueField: 'path',
9 displayField: 'path',
10 matchFieldWidth: false,
11 listConfig: {
12 loadingText: gettext('Scanning...'),
13 width: 350
14 },
15 doRawQuery: function() {
16 },
17
18 onTriggerClick: function() {
19 var me = this;
20
21 if (!me.queryCaching || me.lastQuery !== me.nfsServer) {
22 me.store.removeAll();
23 }
24
25 me.allQuery = me.nfsServer;
26
27 me.callParent();
28 },
29
30 setServer: function(server) {
31 var me = this;
32
33 me.nfsServer = server;
34 },
35
36 initComponent : function() {
37 var me = this;
38
39 if (!me.nodename) {
40 me.nodename = 'localhost';
41 }
42
43 var store = Ext.create('Ext.data.Store', {
44 fields: [ 'path', 'options' ],
45 proxy: {
46 type: 'proxmox',
47 url: '/api2/json/nodes/' + me.nodename + '/scan/nfs'
48 }
49 });
50
51 store.sort('path', 'ASC');
52
53 Ext.apply(me, {
54 store: store
55 });
56
57 me.callParent();
58 }
59 });
60
61 Ext.define('PVE.storage.NFSInputPanel', {
62 extend: 'PVE.panel.StorageBase',
63
64 onlineHelp: 'storage_nfs',
65
66 options : [],
67
68 onGetValues: function(values) {
69 var me = this;
70
71 var i;
72 var res = [];
73 for (i = 0; i < me.options.length; i++) {
74 var item = me.options[i];
75 if (!item.match(/^vers=(.*)$/)) {
76 res.push(item);
77 }
78 }
79 if (values.nfsversion && values.nfsversion !== '__default__') {
80 res.push('vers=' + values.nfsversion);
81 }
82 delete values.nfsversion;
83 values.options = res.join(',');
84 if (values.options === '') {
85 delete values.options;
86 if (!me.isCreate) {
87 values["delete"] = "options";
88 }
89 }
90
91 return me.callParent([values]);
92 },
93
94 setValues: function(values) {
95 var me = this;
96 if (values.options) {
97 var res = values.options;
98 me.options = values.options.split(',');
99 me.options.forEach(function(item) {
100 var match = item.match(/^vers=(.*)$/);
101 if (match) {
102 values.nfsversion = match[1];
103 }
104 });
105 }
106 return me.callParent([values]);
107 },
108
109 initComponent : function() {
110 var me = this;
111
112
113 me.column1 = [
114 {
115 xtype: me.isCreate ? 'textfield' : 'displayfield',
116 name: 'server',
117 value: '',
118 fieldLabel: gettext('Server'),
119 allowBlank: false,
120 listeners: {
121 change: function(f, value) {
122 if (me.isCreate) {
123 var exportField = me.down('field[name=export]');
124 exportField.setServer(value);
125 exportField.setValue('');
126 }
127 }
128 }
129 },
130 {
131 xtype: me.isCreate ? 'pveNFSScan' : 'displayfield',
132 name: 'export',
133 value: '',
134 fieldLabel: 'Export',
135 allowBlank: false
136 },
137 {
138 xtype: 'pveContentTypeSelector',
139 name: 'content',
140 value: 'images',
141 multiSelect: true,
142 fieldLabel: gettext('Content'),
143 allowBlank: false
144 }
145 ];
146
147 me.column2 = [
148 {
149 xtype: 'proxmoxintegerfield',
150 fieldLabel: gettext('Max Backups'),
151 disabled: true,
152 name: 'maxfiles',
153 reference: 'maxfiles',
154 minValue: 0,
155 maxValue: 365,
156 value: me.isCreate ? '1' : undefined,
157 allowBlank: false
158 }
159 ];
160
161 me.advancedColumn1 = [
162 {
163 xtype: 'proxmoxKVComboBox',
164 fieldLabel: gettext('NFS Version'),
165 name: 'nfsversion',
166 value: '__default__',
167 deleteEmpty: false,
168 comboItems: [
169 ['__default__', Proxmox.Utils.defaultText],
170 ['3', '3'],
171 ['4', '4'],
172 ['4.1', '4.1'],
173 ['4.2', '4.2']
174 ]
175 }
176 ];
177
178 me.callParent();
179 }
180 });