Tim Marx [Fri, 25 Oct 2019 11:06:08 +0000 (13:06 +0200)]
fix comboBox validation when forceSelection is true
Prevent the comboBox from displaying a validation error although
forceSelection is true. If you change a valid selection by removing
characters manually and click somewhere else, the comboBox restores
the selection with the previous value. The validation logic then
checked the restored value, but couldn't find it in the store,
because the store is still filtered with the erroneous query.
We now clear the local filter before the actual check to prevent
this.
[Thomas]:
This was fixed in the 6.2 based GPL release of ExtJS, and can be seen
as backport.
Signed-off-by: Tim Marx <t.marx@proxmox.com> Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
The StdRemoveButton can now pass a delay parameter to the API.
It is set undefined as default so that users of the button
can set the parameter themselves.
Thomas Lamprecht [Thu, 18 Jul 2019 13:55:37 +0000 (15:55 +0200)]
combogrid: add handling for historic set values currently not available
We can often run into situations where a value set in the past is not
valid anymore. An example could be a deleted network bridge, e.g., we
set the vNIC of a VM to 'vmbr1' but then we decide to obsolete that
and delete that one, one would now expect that the field gets marked
as invalid when editing the VM's vNIC, so add that behavior.
As sometimes this can be valid and wanted behavior (e.g., usb
passthrough, which is hot-pluggable), also add a switch do restore
the old behavior.
Note that the empty value is not handled by this change, we let the
existing "allowBlank" config switch handle that one.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Wed, 17 Jul 2019 14:17:55 +0000 (16:17 +0200)]
combogrid: always set the initial value, even if not found
as else one lies to the user and only creates strange behavior,
one should see the values even if not there anymore, if this is a
invalid state is left for a later patch.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
override Ext.Components 'validIdRe' to include '@'
we use itemIds with '@' already in the ceph dashboard, and in
non-debug modeit works (as expected) but throws an error
while using ext-all-debug.js so override it to include the '@'
the regex was in place because in html4 the 'id' tag could only consist
letters ofthe mentioned regex, this was lifted in html5 though[0]
Thomas Lamprecht [Wed, 12 Jun 2019 09:46:20 +0000 (11:46 +0200)]
followup: network selector: reorder columns and adapt widths
and use format_boolean to render the active column
also hide the type column by default, it often is not too important,
and can be derived from the interface name, e.g., vmbrX -> bridge,
bondX -> bond, etc.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
node/apt updates: show full package description conditionally
The full package description is often quite long, and for upgrades
it's not relevant most of the time. But, it can be intresting to
have, if one wonders what a package is even used for.
So add a checkbox in the top bar which allows to switch between
showing and hiding the description, simply done by re-using the
'grid-row-body-hidden' ExtJS CSS class (got the idea from the
RowBody feature source code).
Default it to off, as it's better to not overwhelm users here with a
huge pile of text by default, showing the list of package with the
short one line title is enough most of the times, I'd guess.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com> Tested-by: Tim Marx <t.marx@proxmox.com>
Dominik Csapak [Wed, 15 May 2019 09:15:12 +0000 (11:15 +0200)]
add panel/JournalView
similar to LogView, but expects the result from the /node/journal api call,
which is an array of strings, with start/endcursor instead of
an array of objects with line numbers
the new api call also does not accept start line numbers and limit,
so it is necessary to handle it differently
move the "return early, because a request is already pending" into
the doLoad function, so that all calls to it underly the request
limiting, but note that such a new request is desired, and if so
schedule it once the current finishes. This ensures that scrolling
will always get honored, but does not produces multiple hanging
workers, at max one.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Tue, 16 Apr 2019 05:53:06 +0000 (05:53 +0000)]
node/TimeEdit: allow to 'search' time zone
follow the logic we use in file selectors of the PVE gui, i.e., allow
editable but force a match and do not allow blank, this lets
quick filter this big list instead of scrolling, and searching if
something appears or not, even if one is may not be sure if/how this
was sorted...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
use the view, viewmodel, controller style code, which makes the logic
much more understandable
this adds two features to it, namely a viewBuffer range, which controls
the distance to the end of the data on which the panel loads the next data
and an optional failCallback, which will be used for the cephlog
Stoiko Ivanov [Thu, 21 Mar 2019 17:20:32 +0000 (18:20 +0100)]
change allowed v6 prefix-length to 128
Currently the frontend validation only allows values 8-120 as prefix-lengths for
ipv6-cidr notations.
Following commit 70ea22506939f9687e1146c0f35247cfbe9225b8 in pve-common, this
patch changes that value to 128, which, while seldomly seen in regular setups
is technically correct.
Problem was reported by a user in the forum - they needed to set a length of
125, because their provider supplies only smaller networks. [0]
Dominik Csapak [Thu, 21 Feb 2019 10:34:24 +0000 (11:34 +0100)]
fix popup behaviour in firefox with touchscreens on desktop
when the popup blocker is active, nw is undefined and nw.focus() throws
an error and the touchend event is not finished, causing
extjs to retry the touchevent and click handler, which tries to open
a popup which gets blocked here, and so on