Dietmar Maurer
6b303323be
ui: use shorter datetime format for encryption key creation time
2021-03-04 17:57:40 +01:00
Dietmar Maurer
1576c7a0d9
ui: do not show MediaSet Uuid in backup content grid
2021-03-04 17:09:57 +01:00
Dominik Csapak
bec357e2cb
ui: tape: add missing monStoreErrors calls for the grids
...
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-03-03 16:09:39 +01:00
Dominik Csapak
b83e136fb6
ui: tape/DriveStatus: fix handler name for eject
...
We call 'ejectMedia' not 'eject', so rename the function.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-03-03 16:09:39 +01:00
Dietmar Maurer
ac4a1fb35c
ui: render medium-wearout as percentage
2021-03-02 13:08:01 +01:00
Dominik Csapak
6f3714b9aa
ui: tape/DriveStatus: use the drive state to determine a status-load
...
since the status api call blocks the drive, it only makes sense to do
when the drive is idle.
so do not reload on activate, but when the drive changes the first
time from busy to idle
also disable the reload button when the drive is busy
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-03-02 12:52:39 +01:00
Dominik Csapak
d810014eeb
ui: tape/DriveStatus: add state to Info panel
...
and optimize the updateData function a bit
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-03-02 12:52:26 +01:00
Dominik Csapak
e0f6892625
ui: tape/DriveStatus: add more status lines
...
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-03-02 12:51:50 +01:00
Dominik Csapak
9d5b426a6d
ui: tape: refactor renderDriveState to Utils
...
we will use this later again
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-03-02 12:51:38 +01:00
Dietmar Maurer
2970cd3d6d
ui: use TaskProgress for clean drive
2021-03-02 12:16:30 +01:00
Dietmar Maurer
d41114c5a8
ui: fix changer panel reload after clean
2021-03-02 12:09:00 +01:00
Dietmar Maurer
6c92449702
ui: improve media pool config grid - add comment field
2021-03-02 11:43:25 +01:00
Dietmar Maurer
3c715edd07
ui: correctly enable/disable changer drive buttons
2021-03-02 09:54:33 +01:00
Dietmar Maurer
bbe05d7fe9
ui: add 'Clean' button to changer drive (remove clean action)
2021-03-02 08:59:00 +01:00
Dietmar Maurer
2af8b8ef91
ui: add 'Catalog' button to changer drive
2021-03-02 08:53:18 +01:00
Dietmar Maurer
d4bfdfe749
ui: add 'Label Media' button to changer drive
2021-03-02 08:44:29 +01:00
Dominik Csapak
e8bf4f31f2
ui: tape: fix eslint warnings
...
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-03-01 14:18:44 +01:00
Dominik Csapak
6682461d88
ui: tape/DriveConfig: remove label/catalog/eject buttons
...
they live now in the drive status panel
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-03-01 14:18:23 +01:00
Dominik Csapak
41f1132e0e
ui: tape/DriveStatus: add label/eject/catalog buttons
...
and enable them only if the status says that a tape is inserted.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-03-01 14:18:10 +01:00
Dominik Csapak
d938c9337a
ui: tape/BackupOverview: add sublevel for groups
...
For tapes with many snapshots/group, a simple list of them is too
big. Instead, add a level for just the groups, this makes searching
for a specific backup much easier.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-03-01 14:17:53 +01:00
Dominik Csapak
9896a75caf
ui: tape/ChangerStatus: handle vanishing view during reload
...
since reload is an async function, the view can be destroyed during
any 'await' point. Subsequent accesses to the view will fail, and we
will land in the catch. Check there if the view is destroyed, and
do not raise an error with the user then
also cancel any outstanding timer on 'deactivate' and 'destroy'
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-03-01 14:01:31 +01:00
Dominik Csapak
7eefd0c3d7
ui: tape: ChangerStatus: remove changerselector combobox
...
because we now select it directly in the left-hand tree
so we have to adapt the changer to the one set by the router
and not by the drop down field
and remove it from the TapeManagement tabpanel
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-03-01 12:36:09 +01:00
Dominik Csapak
7b60850334
ui: tape: add DriveStatus panel
...
not used yet
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-03-01 12:33:53 +01:00
Dietmar Maurer
1552d9699c
tape: add 'Restore Key' button
2021-03-01 11:11:38 +01:00
Dietmar Maurer
31cba7098d
ui: rename 'Changer Slot' to 'Drive Number'
2021-02-27 09:51:13 +01:00
Dietmar Maurer
f4571b0b50
ui: use grouping feature for drive configuration grid
2021-02-27 09:37:47 +01:00
Dietmar Maurer
464c409aa3
ui: tape inventory - allow to set/clear media status
2021-02-26 11:06:11 +01:00
Dietmar Maurer
ed24142767
ui: TapeInventory - show catalog status
...
Clearly mark tapes without valid catalog.
2021-02-26 07:48:13 +01:00
Dietmar Maurer
05228f17f5
ui: use button for tape Catalog (instead of action)
2021-02-25 13:04:50 +01:00
Dietmar Maurer
e8653b96be
ui: add tape drive Eject button
2021-02-25 12:52:04 +01:00
Dietmar Maurer
1cf191c597
ui: fix sumbit url in LabelMedia.js
2021-02-25 12:25:32 +01:00
Dietmar Maurer
3d3e31b7f8
ui: factor out common code
2021-02-25 11:52:42 +01:00
Dietmar Maurer
8730cfcc3e
ui: use butten for 'Label Media' (instead of action icon)
2021-02-25 11:00:24 +01:00
Dietmar Maurer
21e3ed3449
tape: add 'latest-only' property to backup job config
2021-02-24 11:19:12 +01:00
Dietmar Maurer
81678129fb
ui: improve tape job edit (add eject-media and export-media-set)
...
And do not auto-generate job id.
2021-02-24 08:42:58 +01:00
Dominik Csapak
ff2bc2d21f
ui: tape/BackupJobs: add CRUD functions
...
similar to the other jobs grids (add/edit/remove etc.)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-23 13:18:10 +01:00
Dietmar Maurer
41685061f7
tape: volume-statistics - use format_size to display byte counts
2021-02-23 11:38:41 +01:00
Dietmar Maurer
35a7ab5778
ui: use grid to display tape drivbe status
2021-02-23 11:29:43 +01:00
Dietmar Maurer
e1beaae4a2
ui: fix tape volume statistics
2021-02-23 11:20:27 +01:00
Dietmar Maurer
965bd58693
ui: use grid to display tape label information
2021-02-23 11:13:48 +01:00
Dominik Csapak
60473d234a
ui: tape/ChangerStatus: do not show progress on drive clean
...
since we have the state in the grid
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-23 09:16:10 +01:00
Dominik Csapak
4f688e09a4
ui: tape/ChangerStatus: do not show progressbar for (un)load
...
since we already show the state of the drive in the grid, this is
not necessary
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-23 09:10:21 +01:00
Dominik Csapak
24e84128e4
ui: tape/ChangerStatus: add missing model fields
...
the DiffStore only updates the fiels given in the model, so we have to
list all the fields we depend on, else we have incomplete data,
e.g. for rendering
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-23 09:09:41 +01:00
Dominik Csapak
e63457b6b2
ui: tape/ChangerStatus: disable drive buttons when it's blocked
...
if the drive state is not empty, some action blocks it, so we cannot
do any task anyway. Since we now refresh the state every 5 seconds,
we can disable/enable them 'live'.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-23 08:37:16 +01:00
Dominik Csapak
a83cedc2ac
ui: tape/ChangerStatus: convert grid stores to DiffStores
...
to not deselect items when the store is updated
this makes the ui a bit better to use
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-23 08:36:51 +01:00
Dominik Csapak
076afa6197
ui: tape/ChangerStatus: reload changer status (cached) every 5000ms
...
so that we can have an updated drive status without having to
press 'reload'
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-23 08:35:42 +01:00
Dominik Csapak
423e3cbd18
ui: tape/ChangerStatus: only show loading on 'force refresh'
...
so that we can update in the background without interfering with the
users workflow
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-23 08:34:54 +01:00
Dietmar Maurer
cbd9899389
tape: update changer status cache after load/unload
2021-02-20 09:06:17 +01:00
Dominik Csapak
f26276bc4e
ui: tape/ChangerStatus: fixup for conditional
...
the statement !a === "somestring" cannot be true since
!a is either true or false and thus not a string
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-19 16:52:26 +01:00
Dominik Csapak
6d62e69f9a
ui: tape: fix eslint warnings (trailing comma)
...
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2021-02-19 16:52:12 +01:00