Limiting the length of the source and dest paramters helps to avoid
problems with iptables-restore which would not apply a rule if a
parameter is larger than the parameter buffer (1024)[0]. As the API is
already limiting this, we should also reflect that in the GUI and give
people a hint that IP sets are most likely the better approach.
[0] http://git.netfilter.org/iptables/tree/iptables/xshared.c?h=v1.8.7#n469
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
Recently, with the Proxmox Backup sync/verify/.. job grids I had to
change my mind regarding use of flex, overuse of it is as bad as
having all to fixed widths as it spreads out the data a lot on big
screens, making it hard to follow as lots of eye movement is
required.
What we ideally would have is a "maxFlexWidth", i.e., a maximal
auto-flex width which still allows wider columns if a user manually
drags it wider. "maxWidth" comes close, but is a hard limit and so
use it only in cases where its quite clear that wider columns make no
sense (surely someone will disagree even for those, but well...).
Basic solution is to add lots more flex ratio to comment so that the
others won't get to big fast, keeping the actual relevant config of a
rule somewhat close by (thus easier to read/grasp/parse)
Also move the source/destination port columns after their direction
column and abbreviate their header title.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
avoid showing "undefined" if there's no comment, renderer must not
return null or undefined directly, it will converted to string as is,
so always fallback to '' empty string
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
The comment columns might not be wide enough for longer comments. Since
it is the most right columns, it can be tricky to grab the right pixel
to drag it wider.
A tooltip that shows up on hover should be okay.
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
Changing the width definitions to use flex will make better use on
larger monitors. Changing the `width` parameter to `minWidth` ensures
that on smaller screens it is still usable, though some horizontal
scrolling might be necessary.
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
Allows 2 digits rule numbers to be visible in the column. Made it a bit
wider than needed to account for potentially wider font rendering on
different platforms.
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
This patch relies on the corresponding patch to pve-firewall, adding the user
defined log levels for firewall rules.
By this, the user can select a per-rule log level for self defined rules. These
are independent of the global log level, which is defined in the firewall options.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Split PVE specific models, which where not moved to the general
widget toolkit, in a separate folder: data/models/
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
some function are now in Proxmox.Utils instead, so we have to use that
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
most 'Remove' buttons we have used the same code pattern over and over,
with the StdRemoveButton we have a component which does all of this for
us
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
because we will use that in the widget toolkit
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
we gave erroneous entries in grids the class .x-form-invalid-field
but since we changed to the "crisp" theme, this class did not have any
highlighting
so instead we use our own "pve-invalid-row" class
and give it a light red background
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
to save the columns/layouts in the browsers local storage
also change width to string (or else jslint complains)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this patch moves the onlineHelp ids into the javascript classes, instead
of defining them where we use the classes
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
before ECMA5 trailing commas in arrays and objects
are forbidden
in jslint this is an error and cannot be deactivated
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
setting the field value of to '' would trigger
the 'change' event which would then disable
the sport/dport/proto comboboxes too early, an empty
form would have the comboboxes disabled too
instead keep the field to a null value if it is empty, but force
it to '' before sending to the pve-proxy
also makes the macro selector keyboard editable, similar to
the other comboboxes in the input panel
Also moves to full declarative style for
IPProtocolSelector, saves 11 lines of of boilerplate code
(works when the store is local and not pulled over the API)
API changes in ExtJS6 involved here:
* 'checkchange' event passes now the record index instead of the whole record
* record.fields is now an array of Field objects, before it was an Object