Thomas Lamprecht [Sat, 31 Oct 2020 08:52:10 +0000 (09:52 +0100)]
css: improve icon rendering
Font Awesome is intended to be used at 14px font-size, we set that
already over product specific CSS for some elements like buttons.
But, for tab panel icons and tree navigation views it was often
overruled by ExtJS to 13px which made look them quite blurry and even
the position was a bit off (to high when compared to the texts
baseline.
Fix that by overwriting the font-size to 14px of the
x-treelist-item-icon and x-tab-icon-el-default class, for the latter
improve the icon to text possition by setting a slight top margin.
Setting the color to black was already done by each product, so move
that over here.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
when using the mode 'MULTI' for the checkbox selection model,
clicking a row would deselect all others, only clicking exactly on the
checkbox would select multiple rows
this override makes the whole cell of the checkbox behave like the
checkbox. This minimizes misclicks from the user.
when browser zoom is activated, our scrollposition can be a little bit off
increase the boundary by a few pixels (5px are ~1/3 of a line)
so that the auto-scrolling still works
node/Tasks: improve scroller behaviour on datastore loading
when we have a fixed totalcount, the scrollbar behaves nicely,
but sometimes we do not have a fixed total, so the api will return
'+1' if there are more elments to load
when doing this, the scrollbar has a weird behaviour where it changes
size frequently the more one scrolls down.
instead, tell the grid to update its layout as soon as the store
prefetches the data, which triggers an update of the scrollbar
this still lets it jump around a little, but only once per load and
more consistent
Dominik Csapak [Fri, 14 Aug 2020 08:33:52 +0000 (10:33 +0200)]
fix #2933: correct behaviour of initgpt button
fixes 4 issues:
* use correct /api2/ext url to get the 'success' parameter
* check 'used' property for 'unused' (pbs vs pve)
* use 'name' instead of 'devpath' for id
(name always contains the correct id for the product,
e.g. /dev/sdd for pve and sdd for pbs)
* add a reload in taskDone to reload the list of disks when the inti is done
Add focusable pseudo class to edit windows defaultFocus
Restricting the defaultFocus of the edit windows to only focusable fields
ensures that windows like "PVE -> Virtual Machine -> Manage HA", which
has a first field of xtype "displayfield", receive focus upon opening.
This allows those windows to be closed with the ESC key, which only
works when an element inside has focus.
In newer versions of ExtJS (>= 6.2.0) this filter could be reduced to
"field:canfocus" or maybe even ":canfocus".
Dominik Csapak [Thu, 25 Jun 2020 11:59:32 +0000 (13:59 +0200)]
add window/ZFSDetail
inspired by pve's detail window, which used two sub components
(ZFSStatus, ZFSDevices; which were never used elsewhere)
combined into one self-contained window
Dominik Csapak [Thu, 25 Jun 2020 11:59:31 +0000 (13:59 +0200)]
add form/MultiDiskSelector
from pve's ZFSCreate window, refactored to be self-contained using
field mixin, as well as be configureable enough to be used by pve as
well as other products
Dominik Csapak [Mon, 15 Jun 2020 14:07:10 +0000 (16:07 +0200)]
task viewer: show task endtime and duration in status
But only when the caller gives us the endtime, since the status API
call does not give us the endtime.
As we stop updating the store once a task isn't running anymore the
fallback to current unix utc timestamp doesn't needs an additional
check, the last one is shown static then.
Dominik Csapak [Tue, 16 Jun 2020 09:06:34 +0000 (11:06 +0200)]
add DiskSmart window and DiskList from PVE
for use with other produts.
the models are now all prefixed with 'pmx' instead of pve, so they
should not conflict
includes some changes to the model for remapping some fields and
some small refactors (change to controller for the DiskList,
some cleanup of the initComponent of the DiskSmart window)
Thomas Lamprecht [Thu, 28 May 2020 16:31:21 +0000 (18:31 +0200)]
format_duration_short: rename to format_duration_human and change semantics a bit
The rationale is that things like 11.4d or 22.6h is hard to parse for
humans (base 10 to base 60 or base 24 conversion). So try to emulate
what a human would tell another human to pass a duration information
along with reasonable good but not high accuracy.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Tue, 26 May 2020 16:26:52 +0000 (18:26 +0200)]
form/display edit: use the 'fit' layout to avoid width glitch
As else we get some issues with inner field adding some space on
outer fieldcontainer, which let a mix of "normal" fields and this one
appear asymmetrical.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Tue, 26 May 2020 08:13:04 +0000 (10:13 +0200)]
JournalView: avoid null dereference on quick tab switch
the updateView method can be called through an XHR request callback,
which may get triggered once the user switched already over to
another panel and viewmodel isn't valid (or did not get valid at the
first place) anymore.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Mon, 25 May 2020 16:32:00 +0000 (18:32 +0200)]
ui: task history: handle running tasks
normally this is used as strict task history, meaning no running
tasks included. But we can have running tasks in PBS here, so at
least avoid that they're shown as error.
Also add a refresh button as a simple workaround to the auto-refresh
problem, which isn't straightforward to solve with the buffered
reader we have here.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>