]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/form/ComboBoxSetStoreNode.js
1 Ext
.define('PVE.form.ComboBoxSetStoreNode', {
2 extend
: 'Proxmox.form.ComboGrid',
4 apiBaseUrl
: '/api2/json/nodes/',
8 showNodeSelector
: false,
10 setNodeName: function(value
) {
12 value
||= Proxmox
.NodeName
;
14 me
.getStore().getProxy().setUrl(`${me.apiBaseUrl}${value}${me.apiSuffix}`);
18 nodeChange: function(_field
, value
) {
20 // disable autoSelect if there is already a selection or we have the picker open
21 if (me
.getValue() || me
.isExpanded
) {
22 let autoSelect
= me
.autoSelect
;
23 me
.autoSelect
= false;
24 me
.store
.on('afterload', function() {
25 me
.autoSelect
= autoSelect
;
28 me
.setNodeName(value
);
29 me
.fireEvent('nodechanged', value
);
32 tbarMouseDown: function() {
33 this.topBarMousePress
= true;
36 tbarMouseUp: function() {
38 delete this.topBarMousePress
;
45 // conditionally prevent the focusLeave handler to continue, preventing collapsing of the picker
46 onFocusLeave: function() {
49 if (!me
.topBarMousePress
) {
50 me
.callParent(arguments
);
56 initComponent: function() {
59 if (me
.showNodeSelector
&& PVE
.data
.ResourceStore
.getNodes().length
> 1) {
61 Ext
.apply(me
.listConfig
?? {}, {
66 mousedown
: me
.tbarMouseDown
,
67 mouseup
: me
.tbarMouseUp
,
73 xtype
: "pveStorageScanNodeSelector",
75 fieldLabel
: gettext('Node to scan'),
77 change
: (field
, value
) => me
.nodeChange(field
, value
),
82 emptyText
: me
.listConfig
?.emptyText
?? gettext('Nothing found'),