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