]> git.proxmox.com Git - pve-manager.git/blob - www/manager6/form/SpiceEnhancementSelector.js
ui: iso selector: fix layout, stretch items again to full space
[pve-manager.git] / www / manager6 / form / SpiceEnhancementSelector.js
1 Ext.define('PVE.form.SpiceEnhancementSelector', {
2 extend: 'Proxmox.panel.InputPanel',
3 alias: 'widget.pveSpiceEnhancementSelector',
4
5 viewModel: {},
6
7 items: [
8 {
9 xtype: 'proxmoxcheckbox',
10 itemId: 'foldersharing',
11 name: 'foldersharing',
12 reference: 'foldersharing',
13 fieldLabel: 'Folder Sharing',
14 uncheckedValue: 0,
15 },
16 {
17 xtype: 'proxmoxKVComboBox',
18 itemId: 'videostreaming',
19 name: 'videostreaming',
20 value: 'off',
21 fieldLabel: 'Video Streaming',
22 comboItems: [
23 ['off', 'off'],
24 ['all', 'all'],
25 ['filter', 'filter'],
26 ],
27 },
28 {
29 xtype: 'displayfield',
30 itemId: 'spicehint',
31 userCls: 'pmx-hint',
32 value: gettext('To use these features set the display to SPICE in the hardware settings of the VM.'),
33 hidden: true,
34 },
35 {
36 xtype: 'displayfield',
37 itemId: 'spicefolderhint',
38 userCls: 'pmx-hint',
39 value: gettext('Make sure the SPICE WebDav daemon is installed in the VM.'),
40 bind: {
41 hidden: '{!foldersharing.checked}',
42 },
43 },
44 ],
45
46 onGetValues: function(values) {
47 var ret = {};
48
49 if (values.videostreaming !== "off") {
50 ret.videostreaming = values.videostreaming;
51 }
52 if (values.foldersharing) {
53 ret.foldersharing = 1;
54 }
55 if (Ext.Object.isEmpty(ret)) {
56 return { 'delete': 'spice_enhancements' };
57 }
58 var enhancements = PVE.Parser.printPropertyString(ret);
59 return { spice_enhancements: enhancements };
60 },
61
62 setValues: function(values) {
63 var vga = PVE.Parser.parsePropertyString(values.vga, 'type');
64 if (!/^qxl\d?$/.test(vga.type)) {
65 this.down('#spicehint').setVisible(true);
66 }
67 if (values.spice_enhancements) {
68 var enhancements = PVE.Parser.parsePropertyString(values.spice_enhancements);
69 enhancements.foldersharing = PVE.Parser.parseBoolean(enhancements.foldersharing, 0);
70 this.callParent([enhancements]);
71 }
72 },
73 });