]>
Commit | Line | Data |
---|---|---|
1d73b8d9 AL |
1 | Ext.define('PVE.form.SpiceEnhancementSelector', { |
2 | extend: 'Proxmox.panel.InputPanel', | |
3 | alias: 'widget.pveSpiceEnhancementSelector', | |
ff4d18e1 AL |
4 | |
5 | viewModel: {}, | |
6 | ||
1d73b8d9 AL |
7 | items: [ |
8 | { | |
9 | xtype: 'proxmoxcheckbox', | |
10 | itemId: 'foldersharing', | |
11 | name: 'foldersharing', | |
ff4d18e1 | 12 | reference: 'foldersharing', |
1d73b8d9 AL |
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', | |
f71b7c28 | 31 | userCls: 'pmx-hint', |
1d73b8d9 AL |
32 | value: gettext('To use these features set the display to SPICE in the hardware settings of the VM.'), |
33 | hidden: true, | |
ff4d18e1 AL |
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}', | |
f6710aac TL |
42 | }, |
43 | }, | |
1d73b8d9 AL |
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); | |
399ffa76 | 69 | enhancements.foldersharing = PVE.Parser.parseBoolean(enhancements.foldersharing, 0); |
1d73b8d9 AL |
70 | this.callParent([enhancements]); |
71 | } | |
72 | }, | |
73 | }); |