]> git.proxmox.com Git - pve-manager.git/blob - www/manager6/storage/NFSEdit.js
fix #2017: add help button to storage input panels
[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 onGetValues: function(values) {
66 var me = this;
67
68 if (me.isCreate) {
69 // hack: for now we always create nvf v3
70 // fixme: make this configurable
71 values.options = 'vers=3';
72 }
73
74 return me.callParent([values]);
75 },
76
77 initComponent : function() {
78 var me = this;
79
80
81 me.column1 = [
82 {
83 xtype: me.isCreate ? 'textfield' : 'displayfield',
84 name: 'server',
85 value: '',
86 fieldLabel: gettext('Server'),
87 allowBlank: false,
88 listeners: {
89 change: function(f, value) {
90 if (me.isCreate) {
91 var exportField = me.down('field[name=export]');
92 exportField.setServer(value);
93 exportField.setValue('');
94 }
95 }
96 }
97 },
98 {
99 xtype: me.isCreate ? 'pveNFSScan' : 'displayfield',
100 name: 'export',
101 value: '',
102 fieldLabel: 'Export',
103 allowBlank: false
104 },
105 {
106 xtype: 'pveContentTypeSelector',
107 name: 'content',
108 value: 'images',
109 multiSelect: true,
110 fieldLabel: gettext('Content'),
111 allowBlank: false
112 }
113 ];
114
115 me.column2 = [
116 {
117 xtype: 'proxmoxintegerfield',
118 fieldLabel: gettext('Max Backups'),
119 disabled: true,
120 name: 'maxfiles',
121 reference: 'maxfiles',
122 minValue: 0,
123 maxValue: 365,
124 value: me.isCreate ? '1' : undefined,
125 allowBlank: false
126 }
127 ];
128
129 me.callParent();
130 }
131 });