]> git.proxmox.com Git - pve-manager.git/blame - www/manager6/storage/NFSEdit.js
ui: eslint: fix trailing comma and comma related whitespaces errors
[pve-manager.git] / www / manager6 / storage / NFSEdit.js
CommitLineData
13246edc
DM
1Ext.define('PVE.storage.NFSScan', {
2 extend: 'Ext.form.field.ComboBox',
3 alias: 'widget.pveNFSScan',
4
5 queryParam: 'server',
6
c2317525
DC
7 valueField: 'path',
8 displayField: 'path',
9 matchFieldWidth: false,
10 listConfig: {
11 loadingText: gettext('Scanning...'),
f6710aac 12 width: 350,
c2317525 13 },
13246edc
DM
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: {
56a353b9 45 type: 'proxmox',
f6710aac
TL
46 url: '/api2/json/nodes/' + me.nodename + '/scan/nfs',
47 },
13246edc
DM
48 });
49
9e9ab96f
WL
50 store.sort('path', 'ASC');
51
13246edc 52 Ext.apply(me, {
f6710aac 53 store: store,
13246edc
DM
54 });
55
56 me.callParent();
f6710aac 57 },
13246edc
DM
58});
59
60Ext.define('PVE.storage.NFSInputPanel', {
f28ec3e4 61 extend: 'PVE.panel.StorageBase',
13246edc 62
96988dfa
DC
63 onlineHelp: 'storage_nfs',
64
d3abac43
OB
65 options : [],
66
13246edc
DM
67 onGetValues: function(values) {
68 var me = this;
69
d3abac43
OB
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 }
13246edc
DM
88 }
89
f28ec3e4 90 return me.callParent([values]);
13246edc
DM
91 },
92
d3abac43
OB
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) {
a671b6b5
TL
99 var match = item.match(/^vers=(.*)$/);
100 if (match) {
d3abac43
OB
101 values.nfsversion = match[1];
102 }
103 });
104 }
105 return me.callParent([values]);
106 },
107
13246edc
DM
108 initComponent : function() {
109 var me = this;
110
111
112 me.column1 = [
13246edc 113 {
d5e771ce 114 xtype: me.isCreate ? 'textfield' : 'displayfield',
13246edc
DM
115 name: 'server',
116 value: '',
117 fieldLabel: gettext('Server'),
118 allowBlank: false,
119 listeners: {
120 change: function(f, value) {
d5e771ce 121 if (me.isCreate) {
13246edc
DM
122 var exportField = me.down('field[name=export]');
123 exportField.setServer(value);
124 exportField.setValue('');
125 }
f6710aac
TL
126 },
127 },
13246edc
DM
128 },
129 {
d5e771ce 130 xtype: me.isCreate ? 'pveNFSScan' : 'displayfield',
13246edc
DM
131 name: 'export',
132 value: '',
133 fieldLabel: 'Export',
f6710aac 134 allowBlank: false,
13246edc
DM
135 },
136 {
137 xtype: 'pveContentTypeSelector',
138 name: 'content',
139 value: 'images',
140 multiSelect: true,
141 fieldLabel: gettext('Content'),
f6710aac
TL
142 allowBlank: false,
143 },
13246edc
DM
144 ];
145
d3abac43
OB
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'],
f6710aac
TL
158 ['4.2', '4.2'],
159 ],
160 },
d3abac43
OB
161 ];
162
13246edc 163 me.callParent();
f6710aac 164 },
13246edc 165});