170 Commits

Author SHA1 Message Date
Thomas Lamprecht
ffe0fbba9a ui: vm/qga selector: convert to schematic style
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-10-08 14:41:05 +02:00
Aaron Lauterer
c1025d7e31 ui: add spice enhancements form component
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2019-10-07 16:16:34 +02:00
Thomas Lamprecht
43f5918cfe ui: cpuselector: use QEMU and Host as vendors instead of Other
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-10-02 16:17:00 +02:00
Stefan Reiter
9160728253 Make CPU Model Selector a searchable grid view
Uses a ComboGrid with search feature and a column for vendor. Can be
sorted by both columns.

Default sort is as given in this file, I tried to align it as
* AMD
* Intel
* Other
alphabetically and in QEMU order (as before, seems to be release date?)
within those "groups".

Doesn't work with value set in widget definition (would need to be
preferredValue), but we always call setValue() anyway (and if we don't,
value will be '', aka the default, which is correct too), so just remove
that from ProcessorEdit.js.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-10-02 13:35:44 +02:00
Alexandre Derumier
d17464b0e2 cpumodel: qemu 4.0: add Skylake-Server, Cascadelake-Server, KnightsMill
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2019-09-30 16:47:10 +02:00
Thomas Lamprecht
19fa4ee333 ui: usbselector: show product name and enable anyMatch search
Show "Product (usbid)" instead of only "usbid" for slightly better
UX.

Still allows to only enter a USBID and hit enter, even if the ID is
not in the store (i.e., currently unplugged).

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-09-26 18:05:24 +02:00
Thomas Lamprecht
f9e4976d4b ui: usbselector: refactor USB Speed rendering, add USB 3.1
Fixes also an issue where unregonized (often faster) devices would
get recognized as "USB 1.x" due to the else fallback.

Now, if we do not recognize the speed value, just print the speed
with the MBps unit (it's not exactly megabit per second, but mega
baud (= symbols) per second - the effective rate is dependent on the
used signal encoding)

adapt widths a bit further

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-09-26 18:04:32 +02:00
Thomas Lamprecht
04d2d75887 ui: usbselector: add empty text for UX
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-09-26 18:00:18 +02:00
Aaron Lauterer
dfa900349c ui: vm/usbselector: cleanup unused code
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2019-09-26 17:25:25 +02:00
Thomas Lamprecht
d6c2bc3074 ui: usbselector/usbedit: make widths a bit larger
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-09-26 16:39:02 +02:00
Thomas Lamprecht
b0ac6163b8 ui: usbselector: return string not false when invalid
If the return value is not exact Boolean(true) this is used for
error, so false gets converted to string and shown in error tooltip,
address that

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-09-26 16:36:25 +02:00
Thomas Lamprecht
17cced50b7 ui: IPRef field: allow all valid IPs, even if not in the store
since commit 1ccb53ecdbd69a0e4c57a6d861da1918d3625e08 from widget
toolkit[0] we enforce by default that an entered value needs to be in
the backing data store, else the field is marked invalid.

But, for the firewall source/destination IP selector we do not care
if it's in the store, which is only loaded for convenience and to
allow selecting defined aliases/ipsets

[0]: https://git.proxmox.com/?p=proxmox-widget-toolkit.git;a=commit;h=1ccb53ecdbd69a0e4c57a6d861da1918d3625e08

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-08-30 18:55:58 +02:00
Peter Keresztes Schmidt
2e90713e10 CPU flags: Add aes flag
Signed-off-by: Peter Keresztes Schmidt <peterke@sos.ethz.ch>
2019-08-23 10:41:29 +02:00
Stefan Reiter
a5e528adc2 Add hv-tlbflush and hv-evmcs as optional flags
since they have both been removed as automatic hyper-v flags.

hv-evmcs description intentionally does not contain a mention of Windows, since
it works for Linux guests as well.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2019-07-23 18:21:06 +02:00
Thomas Lamprecht
1d0945afb2 ui: storage selector: adapt widths
with this one can see the avail/capacity columns in full even if we
have "xyz.ab GiB", i.e., the max length this can be.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-06-17 12:54:01 +02:00
Thomas Lamprecht
d25c2edb60 js: fix some common typos found with codespell
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-06-15 10:44:43 +02:00
Thomas Lamprecht
6544511c44 gui: vm: add CPU flag selector with tri-state awareness
This allows to select the tri-state (enforce on, enforce off, default
from QEMU+CPU Model) for each CPU flag independently.

For this a grid with a widgetcolumn is used hosting tree radio
buttons for each state. They're marked '+' for enforce on, '-' for
enforce off and the default has no label, as it isn't easy to add in
such a way that it does not confuses people and does not looks
completely ugly.. But, to help people which have a hard time figuring
out what the states mean, a fake column was added showing the current
selected state's outcome in words.

For show casing the new nice interface add all currently supported
flags from out API-
It could be worth to add some selected CPU model awareness, so that
flags are only enabled if they can make sense with the selected
model. But one should be able to add this relative easily with this
as base.

The hardcoded flag lists is not ideal, we should try to generate this
in the future, but here already qemu-server is lacking and this is
rather independent of the fact and can be done later one just fine
too.

Note that this /is/ an *advanced* feature so not visible for all
directly, while I try to document in short what a flag does it surely
isn't perfect and to short to explain all nuances, they should give
enough pointers to know if it's relevant at all (amd / intel cpu) and
for what one should research

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
(cherry picked from commit 6593d43d1047d335a3a95d37c6d2f51282697b26)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-06-07 17:45:33 +02:00
Thomas Lamprecht
d297cd32bc ui: diskselector: increase width and use flex for columns
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-06-06 13:43:56 +02:00
Dominik Csapak
072d049dfd ui: NodeSelector: check status field for offline nodes
the memory stat is not available if the user has no audit privilges on
/nodes/NODENAME but the status is always available

also it makes simple more sense to check if it is online not only if the
memory value is there

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-05-09 16:30:22 +00:00
Dominik Csapak
82afbfaee8 gui: DiskStorageSelector: implement disabling
this patch implements disabling for the DiskStorageSelector, which
resets the storage and triggers a validity change

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-03-28 17:04:06 +01:00
Dominik Csapak
16ce97290d add snippets content type to the gui
we only show that a storage can store snippets, but for now
we do not allow to set or upload them via the gui

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-01-31 11:05:55 +01:00
Christian Ebner
d979f93ed5 Add context menu to global search entries
This add a context menu to the entries of the global search field instead of
showing the browsers default one.
This allows to search and easily manage nodes, VMs and CTs similar to the
behaviour in the resource tree.

Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
2019-01-29 14:04:10 +01:00
Dominik Csapak
123273bb92 gui: refactor render_full_name
this also fixes a missing  htmlEncode in UserSelector

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-11-26 12:30:30 +01:00
Thomas Lamprecht
3bca5efd9c api: move PCI from Scan to Hardware path
as discussed[0] lets move this to /nodes/{node}/hardware/pci

Put this in its own subfolder and adapt module names and paths in UI.

[0]: https://pve.proxmox.com/pipermail/pve-devel/2018-November/034694.html
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-11-22 14:20:09 +01:00
Dominik Csapak
e1a9da2c7f gui: add MDevSelector
this is used to select a mediated device type

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-11-22 13:31:31 +01:00
Dominik Csapak
60bb91ba55 gui: add form/PCISelector
this adds a form field for selecting a pci device

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-11-22 13:31:31 +01:00
Thomas Lamprecht
e39b0f1325 fix #1224: ui: ACLAdd: allow to filter by username
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-11-19 10:22:48 +01:00
Thomas Lamprecht
fb3877c526 ui: form/VMSelector: use SIMPLE mode for guest checkbox model
Switch the default mode 'MULTI' with 'SIMPLE', the same we use in the
dc/Backup guest selector. It allows to remove the 'checkOnly'
setting, which limited selection and deselection of elements on the
checkbox it self, doing nothing when clicking on rows.

Besides the friendlier and more streamlined UX this actually fixes a
bug in Firefox (confirmed in version 62, possible in other versions
too) where select/deselect di not worked when clicking in the white
area of the checkbox, but only when clicking on the surrounding
padding.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-09-11 10:25:02 +02:00
Alexandre Derumier
4234f21609 cpumodelselector : add EPYC
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-09-04 11:36:36 +02:00
Udo Rader
27edbed532 ui: storage: Linux LIO/targetcli support
adding LIO option and dedicated "LIO target portal group" input field to the
"Add: ZFS via iSCSI" dialog

Signed-Off-By: Udo Rader <udo.rader@bestsolution.at>
2018-08-02 18:21:37 +02:00
Stoiko Ivanov
3f33951bb0 ui/qemu: Extend Qemu Guest agent
Change to agent now being a property_string, and including  fstrim_cloned_disks.

Co-Authored-By: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2018-08-02 16:20:12 +02:00
Dominik Csapak
676b5a9e9f move DiskSelector to its own file, for generic use
also set the default diskType to undefined and
change the api endpoint to /nodes/NODE/disks/list

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-08-02 12:40:45 +02:00
Thomas Lamprecht
e4867d90a0 ui: vm hotplug selector: refactor for sane formatting
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-07-06 08:05:48 +02:00
Dominik Csapak
b631683863 indentation fixes
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-05-25 17:24:49 +02:00
René Jochum
67f413c2a8 fix #1499 Implement a combobox for Permissions paths
Signed-off-by: René Jochum <r.jochum@proxmox.com>
2018-05-25 17:19:07 +02:00
René Jochum
6c0d184e66 Modernize PVE.form.GroupSelector,
as example for future Uses.

Signed-off-by: René Jochum <r.jochum@proxmox.com>
2018-05-25 17:19:07 +02:00
Thomas Lamprecht
5878b25d16 fixup: jslint errors
fix some small problems where jslint complains, introduced by
commit: 9265782932cdbcf8e6c7781aec437d06a22048d4

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-05-16 10:05:07 +02:00
René Jochum
9265782932 fixes #1503 Add role CRUD to the GUI.
As given in the subject this implements role create/update/delete over
the manager.

There's currently no coler highlightning for "special" roles.

Signed-off-by: René Jochum <r.jochum@proxmox.com>
2018-05-08 15:54:22 +02:00
Dominik Csapak
b44ca5bac6 lxc/MPEdit: rework for advanced options
this is a complete rework of the inputpanel (long overdue)
it uses a viewModel and viewcontroller to avoid the
multiple is zfs/root/bind checks and concentrate them
in one place

also some features get optimized (e.g. the noreplication checkbox)

adds a setNodename to the DiskStorageSelector so that we can bind
the nodename there

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-04-06 11:45:14 +02:00
Dominik Csapak
11183ce685 make clone window guest agnostic
so that we can reuse it for containers

while we do this, we also have to adapt the SnapshotSelector

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-03-21 15:54:32 +01:00
Thomas Lamprecht
a22cd996cd ui: FileSelector: add setNodename to allow data binding
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-02-22 15:04:51 +01:00
Thomas Lamprecht
e29748b1fd form/FileSelector: move to declarative style
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-02-15 14:48:02 +01:00
Thomas Lamprecht
860d71a234 ui: qemu: make DisplayEdit declarative and drop DisplaySelector
DisplayEdit did not get a cleanup during our ExtJS 4 to ExtJS 6
cleanup, in fact it was really touched in the last 5 years.

So refactor it to a declarative syntax, at least almost, we keep the
me.load in initComponent, just to much hassle to adress this for now.

Also purge DisplaySelector. It was a component inheriting from
KVComboBox with the possible VGA values as items only used here.
So just use a KVComboBox directly and set comboboxItems directly.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-02-09 14:46:14 +01:00
Dominik Csapak
c11c4a409b fix #1631: change units to binary prefix
we always expected MiB/GiB but labeled them incorrectly

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-01-31 14:08:34 +01:00
Dominik Csapak
1c3e19a745 fix #1635: correctly change maxIds in ControllerSelector in wizard
we want to change the maxIds value even when not rendered, since
in the wizard, the controller can change from a different panel in the
tabpanel

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2018-01-31 14:03:39 +01:00
Thomas Lamprecht
c2540bc277 RealmComboBox: use schematic declaration and ViewController
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
2018-01-25 13:36:38 +01:00
Thomas Lamprecht
6529dbca44 use RestProxy from widget toolkit
Split PVE specific models, which where not moved to the general
widget toolkit, in a separate folder: data/models/

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
2018-01-25 13:36:38 +01:00
Thomas Lamprecht
324095c43e use KVCombobox from widget toolkit
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
2018-01-25 13:36:38 +01:00
Thomas Lamprecht
9946c4bd24 use RRDTypeSelector from widget toolkit
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
2018-01-25 13:36:38 +01:00
Thomas Lamprecht
956cd0bdda use Checkbox from widget toolkit
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
2018-01-25 13:36:38 +01:00