Commit Graph

46 Commits

Author SHA1 Message Date
Dominik Csapak
b57316b6d2 use NodeAPT grid from widget toolkit
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-01-25 13:36:37 +01:00
Dominik Csapak
87271dca64 use NetworkView/NetworkEdit from widget toolkit
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-01-25 13:36:37 +01:00
Dominik Csapak
16288be4b1 use TimeView and TimeEdit from widget toolkit
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-01-25 13:36:37 +01:00
Dominik Csapak
9fcbafbece use IntegerField from widget toolkit
there we implemented deleteEmpty, which we can use in some cases.
this also fixes a bug in the ControllerSelector where
an empty field would be allowed (but should not)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-01-25 13:36:37 +01:00
Dominik Csapak
a87cf601d6 use TextField from proxmox-widget-toolkit
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-01-25 13:36:37 +01:00
Dominik Csapak
9c5bb73a8a use ComboGrid from proxmox-widget-toolkit
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-01-25 13:36:37 +01:00
Dominik Csapak
0bdbbf1126 move lxc mountpoint edit from ResourceEdit.js to MPEdit.js
to follow qemu code

also fix the jslint errors in MountPointInputPanel and MountPointEdit

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-14 13:27:03 +01:00
Dominik Csapak
002a44bdcd add new DiskStorageSelector.js
this is a wrapper for selecting a storage/disk image

it is a simple container with 4 form fields inside
which can be reused, whenever we need to select a storage for a disk,
image etc.

we have code similar to this four times already
(qemu image creation, lxc mp creation, qemu cloning, qemu efidisk
creation)

so it was time to refactor this and use the storage information from the
backend instead of hardcoding values in the frontend

for this we need to pass the format=1 parameter to the storage api call,
and to not load the fileselector when it is initially disabled

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-11-14 13:27:03 +01:00
Emmanuel Kasper
af45e6f390 Add Storage Controller class
This controller will display the 'Max Backups' field only if the storage can
hold backups.

Signed-off-by: Emmanuel Kasper <e.kasper@proxmox.com>
2017-11-07 09:35:45 +01:00
Thomas Lamprecht
eced532cf0 ui: add PVE.menu.Item
Extend 'Ext.menu.Item' with a simplified handler logic also used in
'PVE.button.Button'.

If 'confirmMsg' config is set we wrap the defined handler in a
confirm dialog, useful if the menu item just makes an API call and
does not has an own (edit) window shown.

In contrast to the 'pveButton' we do not have a selection model,
enable function and the respective logic here.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Acked-by: Dominik Csapak <d.csapak@proxmox.com>
2017-10-19 09:24:46 +02:00
Dietmar Maurer
0557c80859 Subscription.js - use enableTextSelection instead of 'selectable' feature
The 'selectable' feature does not work anymore.
2017-09-27 17:23:03 +02:00
Dominik Csapak
6e198c8f49 add CephPoolSelector
this allows us to give the user a list of pve managed ceph pools

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-09-07 12:35:14 +02:00
Dominik Csapak
08b8c25650 add replication grid
this patch adds a replication grid, which shows the status/configuration
for the defined replication jobs, and allow them to be
added/edited/removed

in case the replication grid gets shown in the datacenter, we omit the
status fields, because we only have the configuration there

when opening the grid, we check if there are at least two nodes,
because currently we only allow replication in a cluster environment

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-06-14 07:33:46 +02:00
Dominik Csapak
5d517deb0e add calendarevent form field
this is a freely editable combobox, which shows five usable examples and
their syntax, allowing users to deduct how the syntax works without
reading documentation

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-06-14 07:32:59 +02:00
Dominik Csapak
64364852e1 do not let www-data own the static js/html files
this is neither necessary, nor useful
those files are meant to be read only anyway, so there is no gain in
them being owned by www-data

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-06-09 14:00:30 +02:00
Dominik Csapak
7a995680a2 add usbselector and usb edit window for qemu
the edit window has 3 radiobuttons (spice,device,port)

and a checkbox for usb3 (which gets disabled and checked
if you choose a usb3 device)

also it makes use of the help feature

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-06-08 15:57:56 +02:00
Dominik Csapak
5854ecdfca add right-click menu for nodes
to easier reach the bulk actions, create wizards, and shell

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-04-14 15:18:54 +02:00
Dietmar Maurer
dd8a24be86 depend on libjs-extjs 2017-01-25 18:29:17 +01:00
Dominik Csapak
f6b31faf9c change Start/Stop/Migrate all to Bulk actions
this uses the new vmselector and the new vmid filter in the backend
to allow starting/stopping/migrating selected vms instead of all

by default all vms are selected to have the same default behaviour

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2017-01-05 15:59:44 +01:00
Emmanuel Kasper
dd0f5ef3d5 Convert the VMIDSelector to a generic GuestIDSelector
This allows to display a 'CT', a 'VM', or a 'CT/VM' label
to be displayed, depending on the context.

Currently when restoring a CT backup or creating a CT via the
wizard, we are asked to enter a  *VM* ID, which is confusing.
2016-12-19 07:31:27 +01:00
Emmanuel Kasper
14b0c7ab23 Turn the qemu StartupEdit widget into a generic component
and use this component for Qemu.
2016-12-06 06:53:20 +01:00
Dominik Csapak
4ded5a5c6a add ceph statudetail panel
this adds a the component ceph statusdetail,
it displays the monitors (+status)
the osd as a table (in/out,up/down)
and the pg states as a list (+number)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-11-22 16:37:44 +01:00
Dominik Csapak
fea2fbae48 add runningchart widget
this adds a new component 'runningchart', which is a simple linegraph

you define a timeFrame (default 5*60 seconds), and you regularly add
datapoints to it, and the graph shows the last timeFrame seconds of it

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-11-22 16:37:24 +01:00
Dominik Csapak
5e2627d3bd refactor health status widget and ceph status data
this adds a new component health widget, used for cluster and ceph
status

also refactor ceph error levels and ceph status data into PVE.Utils

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-11-22 16:37:09 +01:00
Dominik Csapak
12613b2e62 add the haStatus panel
for the new status

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-11-22 12:29:09 +01:00
Dominik Csapak
9346100128 add pveIntegerField and use it
this adds a subclass of Ext.form.field.Number with the settings for
Integers (allowDecimals: false and allowExponential: false and default
step size 1)

and use it where we only accept integers

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-11-02 17:14:06 +01:00
Dominik Csapak
0409e6b843 add guests panel
this adds a guests panel which will show the running/stopped/etc. guests
in the cluster dashboard

to update this, we have to call updateValues with the data

we do this, because in the component above, we will collect the data
after a load event of the PVE.data.Resources store, to avoid going
through this (sometimes large) list more than once

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-10-29 08:39:16 +02:00
Dominik Csapak
b0821123ee add dc health panel
this adds a dc health panel which will be used in the cluster dashboard

it shows the overall cluster status (or simply ok if no cluster defined)
with a symbol and text

then it shows the number of online and offline nodes

optionally it shows then the overall ceph health
of the connected node

if the api call for ceph fails 3 times, we stop it
the ceph status is hidden by default

for updating the cluster and node status, we have to call
updateStatus as a callback from a store which
loads the /api2/json/cluster/status call

we do not have our own store for this, because we will be using the store
which handles this in the component above

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-10-29 08:38:18 +02:00
Dominik Csapak
a2cbb1b1fd add gaugeWidget
this adds a gaugeWidget panel, which will be used for the
cluster dashboard

it shows a title, a gauge (a half circle) with the percentage
in the center

over 59% the color is yellow,
over 89% the color is red

also you can add a text to the bottom

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-10-29 08:33:13 +02:00
Dominik Csapak
4a39a12b9c move dcNodeView into its own file
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-10-29 08:31:47 +02:00
Dominik Csapak
f17fb5f1c8 add 'my settings' to top bar
this adds a menu right to the username with an entry 'my settings',
this opens a window with (for now) browser specific settings
and a place to reset them

the plan would be to add password change, 2fa setup etc here

one remark: the reset layout button reloads the window,
to really apply the reset

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-10-28 09:46:25 +02:00
Dietmar Maurer
2963616ae3 use auto-generated block IDs to reference online docu. 2016-10-13 11:26:06 +02:00
Thomas Lamprecht
1ba0bf9cbc Makefile: fix distclean target
As some Makefiles in sub directories do not implement the distclean
target, namely:
PVE/Service/Makefile
PVE/CLI/Makefile

This target is broken.

As all other implementations just redirect to the 'clean' target I
do not implement the missing ones but rather remove all such
targets. Keep it just in the top level directory, for consistence
sake with other pve repos, and redirect it there directly to the
clean target.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2016-09-28 08:21:48 +02:00
Dominik Csapak
9fe0d80f8b whitespace cleanup
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-09-13 16:42:29 +02:00
Dominik Csapak
598e5be2b5 add efidisk button to add menu
this adds a new button "efi disk" to the
qemu hardware add menu

this is only enabled if the vm has ovmf enabled and
no active efidisk

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-09-13 07:52:46 +02:00
Dominik Csapak
0487b71df2 remove ceph disk panel code
because we do not need it anymore

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-09-07 11:44:35 +02:00
Dominik Csapak
6bb6e7a2a5 add DiskList panel
this patch adds a disk list panel which:
lists the disks with typical columns
(type, vendor, serial, smart, wearout, etc.)

and with a doubleclick you can show the smart attributes

and with a click on init disk you can initialize a disk
with a gpt table

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-09-07 11:17:53 +02:00
Dominik Csapak
c4019d5e02 refactor backupconfig window
refactor it in its own class, because we need it again

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-09-05 11:20:41 +02:00
Dominik Csapak
958049cb52 remove subconfigpanel related code
this removes all subconfigpanel related code,
since it is not needed anymore

we now have the treelist/cardpanel combo instead of tabpanels
which means we can drop the whole subconfigpanel class
and subclasses

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-08-24 12:32:25 +02:00
Dominik Csapak
668296de89 delete old lxc/qemu statusview classes
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-08-19 13:54:37 +02:00
Dominik Csapak
7ecd0493f3 include new statusview classes in makefile
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-08-19 13:54:37 +02:00
Emmanuel Kasper
d1287dc3f4 Add PVE.qemu.OSDefaults class to hold OS-dependant wizard defaults 2016-07-21 12:46:52 +02:00
Dominik Csapak
f7dc48c7d6 fix #558: add cluster wide search to the top
this makes use of the new globalsearch field and
puts it on top of the page, so that one can easily use it

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-06-21 10:24:03 +02:00
Emmanuel Kasper
e4fc81b3fe Add help button for PVE
This help button is meant to be added on InputPanels, where a
link to an online documentation chapter or subschapter is available.

Clicking on the help button will open the help in a new
browser tab.

Original idea similar to the pfSense GUI.
2016-06-01 12:30:25 +02:00
Dominik Csapak
b512910d75 add split button
the same code base as our pveButton
(selectionchange handling, confirm,etc.)
but with a split button (a button with a menu)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-04-05 07:42:06 +02:00
Dietmar Maurer
8a5caad8af switch GUI to extjs6 2016-03-31 12:11:31 +02:00