]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/storage/CIFSEdit.js
1 Ext
.define('PVE.storage.CIFSScan', {
2 extend
: 'Ext.form.field.ComboBox',
3 alias
: 'widget.pveCIFSScan',
9 matchFieldWidth
: false,
11 loadingText
: gettext('Scanning...'),
14 doRawQuery
: Ext
.emptyFn
,
16 onTriggerClick: function() {
19 if (!me
.queryCaching
|| me
.lastQuery
!== me
.cifsServer
) {
24 if (me
.cifsUsername
) {
25 params
.username
= me
.cifsUsername
;
27 if (me
.cifsPassword
) {
28 params
.password
= me
.cifsPassword
;
31 params
.domain
= me
.cifsDomain
;
34 me
.store
.getProxy().setExtraParams(params
);
35 me
.allQuery
= me
.cifsServer
;
40 resetProxy: function() {
43 if (!me
.readOnly
&& !me
.disabled
) {
50 setServer: function(server
) {
51 if (this.cifsServer
!== server
) {
52 this.cifsServer
= server
;
56 setUsername: function(username
) {
57 if (this.cifsUsername
!== username
) {
58 this.cifsUsername
= username
;
62 setPassword: function(password
) {
63 if (this.cifsPassword
!== password
) {
64 this.cifsPassword
= password
;
68 setDomain: function(domain
) {
69 if (this.cifsDomain
!== domain
) {
70 this.cifsDomain
= domain
;
75 initComponent: function() {
79 me
.nodename
= 'localhost';
82 let store
= Ext
.create('Ext.data.Store', {
83 fields
: ['description', 'share'],
86 url
: '/api2/json/nodes/' + me
.nodename
+ '/scan/cifs',
89 store
.sort('share', 'ASC');
97 let picker
= me
.getPicker();
98 // don't use monStoreErrors directly, it doesn't copes well with comboboxes
99 picker
.mon(store
, 'beforeload', function(s
, operation
, eOpts
) {
101 delete picker
.minHeight
;
103 picker
.mon(store
.proxy
, 'afterload', function(proxy
, request
, success
) {
105 Proxmox
.Utils
.setErrorMask(picker
, false);
108 let error
= request
._operation
.getError();
109 let msg
= Proxmox
.Utils
.getResponseErrorMessage(error
);
111 picker
.minHeight
= 100;
113 Proxmox
.Utils
.setErrorMask(picker
, msg
);
118 Ext
.define('PVE.storage.CIFSInputPanel', {
119 extend
: 'PVE.panel.StorageBase',
121 onlineHelp
: 'storage_cifs',
123 onGetValues: function(values
) {
126 if (values
.password
?.length
=== 0) {
127 delete values
.password
;
129 if (values
.username
?.length
=== 0) {
130 delete values
.username
;
132 if (values
.subdir
?.length
=== 0) {
133 delete values
.subdir
;
136 return me
.callParent([values
]);
139 initComponent: function() {
144 xtype
: me
.isCreate
? 'textfield' : 'displayfield',
147 fieldLabel
: gettext('Server'),
150 change: function(f
, value
) {
152 var exportField
= me
.down('field[name=share]');
153 exportField
.setServer(value
);
159 xtype
: me
.isCreate
? 'textfield' : 'displayfield',
162 fieldLabel
: gettext('Username'),
163 emptyText
: gettext('Guest user'),
165 change: function(f
, value
) {
169 var exportField
= me
.down('field[name=share]');
170 exportField
.setUsername(value
);
175 xtype
: me
.isCreate
? 'textfield' : 'displayfield',
176 inputType
: 'password',
178 value
: me
.isCreate
? '' : '********',
179 emptyText
: me
.isCreate
? gettext('None') : '',
180 fieldLabel
: gettext('Password'),
183 change: function(f
, value
) {
184 let exportField
= me
.down('field[name=share]');
185 exportField
.setPassword(value
);
190 xtype
: me
.isCreate
? 'pveCIFSScan' : 'displayfield',
200 xtype
: 'pveContentTypeSelector',
204 fieldLabel
: gettext('Content'),
208 xtype
: me
.isCreate
? 'textfield' : 'displayfield',
210 value
: me
.isCreate
? '' : undefined,
211 fieldLabel
: gettext('Domain'),
214 change: function(f
, value
) {
216 let exportField
= me
.down('field[name=share]');
217 exportField
.setDomain(value
);
223 xtype
: 'pmxDisplayEditField',
224 editable
: me
.isCreate
,
226 fieldLabel
: gettext('Subdirectory'),
228 emptyText
: gettext('/some/path'),