6c92449702
ui: improve media pool config grid - add comment field
2021-03-02 11:43:25 +01:00
3c715edd07
ui: correctly enable/disable changer drive buttons
2021-03-02 09:54:33 +01:00
bbe05d7fe9
ui: add 'Clean' button to changer drive (remove clean action)
2021-03-02 08:59:00 +01:00
2af8b8ef91
ui: add 'Catalog' button to changer drive
2021-03-02 08:53:18 +01:00
d4bfdfe749
ui: add 'Label Media' button to changer drive
2021-03-02 08:44:29 +01:00
e8bf4f31f2
ui: tape: fix eslint warnings
...
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-03-01 14:18:44 +01:00
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
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
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
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
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
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
1552d9699c
tape: add 'Restore Key' button
2021-03-01 11:11:38 +01:00
31cba7098d
ui: rename 'Changer Slot' to 'Drive Number'
2021-02-27 09:51:13 +01:00
f4571b0b50
ui: use grouping feature for drive configuration grid
2021-02-27 09:37:47 +01:00
464c409aa3
ui: tape inventory - allow to set/clear media status
2021-02-26 11:06:11 +01:00
ed24142767
ui: TapeInventory - show catalog status
...
Clearly mark tapes without valid catalog.
2021-02-26 07:48:13 +01:00
05228f17f5
ui: use button for tape Catalog (instead of action)
2021-02-25 13:04:50 +01:00
e8653b96be
ui: add tape drive Eject button
2021-02-25 12:52:04 +01:00
1cf191c597
ui: fix sumbit url in LabelMedia.js
2021-02-25 12:25:32 +01:00
3d3e31b7f8
ui: factor out common code
2021-02-25 11:52:42 +01:00
8730cfcc3e
ui: use butten for 'Label Media' (instead of action icon)
2021-02-25 11:00:24 +01:00
21e3ed3449
tape: add 'latest-only' property to backup job config
2021-02-24 11:19:12 +01:00
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
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
41685061f7
tape: volume-statistics - use format_size to display byte counts
2021-02-23 11:38:41 +01:00
35a7ab5778
ui: use grid to display tape drivbe status
2021-02-23 11:29:43 +01:00
e1beaae4a2
ui: fix tape volume statistics
2021-02-23 11:20:27 +01:00
965bd58693
ui: use grid to display tape label information
2021-02-23 11:13:48 +01:00
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
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
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
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
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
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
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
cbd9899389
tape: update changer status cache after load/unload
2021-02-20 09:06:17 +01:00
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
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
0d890ec414
ui: tape/ChangerStatus: show the state of the drive
...
an optimize the columns for smaller layouts (1280 width)
we show either:
* Idle
* spinner + status (if no upid)
* spinner + rendered UPID (clickable, opens task viewer)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-02-19 10:21:40 +01:00
9e860ac01a
ui: tape/BackupJobs.js - render task scheduling status
2021-02-19 09:08:00 +01:00
7aa4851b77
ui: start tape backup job GUI
2021-02-18 12:48:54 +01:00
6ef8e2902f
ui: tape/ChangerStatus.js - avoid update status in list_media
...
We do not use the media location, so there is no need to update
the online status in the list_media call. Besides, we already update
the online status when we query the changer/status.
2021-02-18 12:06:49 +01:00
aa16b7b284
ui: tape/ChangerStatus.js - only update status for selected changer
...
To reduce load/wait time.
2021-02-18 11:08:13 +01:00
65535670f9
ui: tape/TapeInventory.js - avoid update changer status
...
We do not update changer status by default - only when pressing "Reload" button.
2021-02-18 10:10:51 +01:00
9d42fe4d3b
ui: tape/TapeInventory: set defaultValue for pool to ''
...
otherwise the grouping feature of the grid gets confused as it encounters
undefined values
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-02-18 09:35:05 +01:00
918a367258
ui: tape/ChangerStatus: adapt load/unload to WorkerTask
...
those are now workertasks (behind a 'POST' request), so show the
progress with the upid
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-02-18 09:34:53 +01:00
970a70b41e
ui: tape/ChangerStatus: rename 'slot' column to 'id'
...
slot is already in the title of the grid, and hide it by default for
drives (the user does not need it there)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-02-18 09:34:40 +01:00
4094fe5a31
ui: tape/ChangerStatus: add Inventory column to drives/import-export
...
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-02-18 09:34:04 +01:00
bbe06f97be
ui: tape/TapeInventory.js - use grid grouping feature - group by pool
2021-02-18 07:30:37 +01:00