]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/form/ViewSelector.js
45fabd7ef60fd21e041cd0bdbb1e590a6820cd3d
2 * Top left combobox, used to select a view of the underneath RessourceTree
4 Ext
.define('PVE.form.ViewSelector', {
5 extend
: 'Ext.form.field.ComboBox',
6 alias
: ['widget.pveViewSelector'],
13 displayField
: 'value',
17 initComponent: function() {
22 text
: gettext('Server View'),
26 text
: gettext('Folder View'),
30 text
: gettext('Storage View'),
32 filterfn: function(node
) {
33 return node
.data
.type
=== 'storage' || node
.data
.type
=== 'node';
37 text
: gettext('Pool View'),
39 // Pool View only lists VMs and Containers
40 filterfn
: ({ data
}) => data
.type
=== 'qemu' || data
.type
=== 'lxc' || data
.type
=== 'pool',
43 let groupdef
= Object
.entries(default_views
).map(([name
, config
]) => [name
, config
.text
]);
45 let store
= Ext
.create('Ext.data.Store', {
57 value
: groupdef
[0][0],
58 getViewFilter: function() {
59 let view
= me
.getValue();
60 return Ext
.apply({ id
: view
}, default_views
[view
] || default_views
.server
);
62 getState: function() {
63 return { value
: me
.getValue() };
65 applyState: function(state
, doSelect
) {
66 let view
= me
.getValue();
67 if (state
&& state
.value
&& view
!== state
.value
) {
68 let record
= store
.findRecord('key', state
.value
, 0, false, true, true);
70 me
.setValue(state
.value
, true);
72 me
.fireEvent('select', me
, [record
]);
77 stateEvents
: ['select'],
85 let statechange = function(sp
, key
, value
) {
87 me
.applyState(value
, true);
90 let sp
= Ext
.state
.Manager
.getProvider();
91 me
.mon(sp
, 'statechange', statechange
, me
);