]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/storage/NFSEdit.js
1 Ext
.define('PVE.storage.NFSScan', {
2 extend
: 'Ext.form.field.ComboBox',
3 alias
: 'widget.pveNFSScan',
9 matchFieldWidth
: false,
11 loadingText
: gettext('Scanning...'),
14 doRawQuery: function() {
17 onTriggerClick: function() {
20 if (!me
.queryCaching
|| me
.lastQuery
!== me
.nfsServer
) {
24 me
.allQuery
= me
.nfsServer
;
29 setServer: function(server
) {
32 me
.nfsServer
= server
;
35 initComponent : function() {
39 me
.nodename
= 'localhost';
42 var store
= Ext
.create('Ext.data.Store', {
43 fields
: [ 'path', 'options' ],
46 url
: '/api2/json/nodes/' + me
.nodename
+ '/scan/nfs'
50 store
.sort('path', 'ASC');
60 Ext
.define('PVE.storage.NFSInputPanel', {
61 extend
: 'PVE.panel.InputPanel',
63 onGetValues: function(values
) {
68 // hack: for now we always create nvf v3
69 // fixme: make this configurable
70 values
.options
= 'vers=3';
72 delete values
.storage
;
75 values
.disable
= values
.enable
? 0 : 1;
81 initComponent : function() {
87 xtype
: me
.create
? 'textfield' : 'displayfield',
89 value
: me
.storageId
|| '',
95 xtype
: me
.create
? 'textfield' : 'displayfield',
98 fieldLabel
: gettext('Server'),
101 change: function(f
, value
) {
103 var exportField
= me
.down('field[name=export]');
104 exportField
.setServer(value
);
105 exportField
.setValue('');
111 xtype
: me
.create
? 'pveNFSScan' : 'displayfield',
114 fieldLabel
: 'Export',
118 xtype
: 'pveContentTypeSelector',
122 fieldLabel
: gettext('Content'),
129 xtype
: 'pveNodeSelector',
131 fieldLabel
: gettext('Nodes'),
132 emptyText
: gettext('All') + ' (' +
133 gettext('No restrictions') +')',
138 xtype
: 'pvecheckbox',
142 fieldLabel
: gettext('Enable')
145 xtype
: 'pveIntegerField',
146 fieldLabel
: gettext('Max Backups'),
150 value
: me
.create
? '1' : undefined,
159 Ext
.define('PVE.storage.NFSEdit', {
160 extend
: 'PVE.window.Edit',
162 initComponent : function() {
165 me
.create
= !me
.storageId
;
168 me
.url
= '/api2/extjs/storage';
171 me
.url
= '/api2/extjs/storage/' + me
.storageId
;
175 var ipanel
= Ext
.create('PVE.storage.NFSInputPanel', {
177 storageId
: me
.storageId
190 success: function(response
, options
) {
191 var values
= response
.result
.data
;
192 var ctypes
= values
.content
|| '';
194 values
.content
= ctypes
.split(',');
197 values
.nodes
= values
.nodes
.split(',');
199 values
.enable
= values
.disable
? 0 : 1;
200 ipanel
.setValues(values
);