Commit Graph

45 Commits

Author SHA1 Message Date
Thomas Lamprecht
5e7d27235e ui: grid/Firewall: eslint fixes and code cleanup/refactoring
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-18 17:59:16 +02:00
Aaron Lauterer
1490b5eb6d ui: firewall: rule: maxlength for source and dest
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>
2021-04-22 21:33:37 +02:00
Thomas Lamprecht
33bf9791e6 ui: firewall grid: try balance between flex and good overview
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>
2021-02-22 14:36:33 +01:00
Thomas Lamprecht
97a537de0d ui: firewall grid: rename Enable column to shorter On
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-02-22 14:30:08 +01:00
Thomas Lamprecht
2d1ed7d3cc ui: firewall grid: fix rendering comment, only show tooltip when truncated
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>
2021-02-22 14:28:38 +01:00
Aaron Lauterer
1290a65d90 ui: FirewallRules: Add tooltip to comments
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>
2021-02-22 13:46:31 +01:00
Aaron Lauterer
ac69b28b80 ui: FirewallRules: make columns flexible
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>
2021-02-22 13:46:31 +01:00
Thomas Lamprecht
53e3ea8488 ui: eslint: enforce "no-extra-parens" rule
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-01-19 17:42:36 +01:00
Thomas Lamprecht
8058410f40 ui: eslint: fix various spacing related issues
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-01-19 17:39:15 +01:00
Thomas Lamprecht
f6710aac38 ui: eslint: fix trailing comma and comma related whitespaces errors
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-01-19 17:31:03 +01:00
Thomas Lamprecht
2a4971d8c9 ui: eslint: fix trailing spaces
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-01-19 17:29:55 +01:00
Aaron Lauterer
659a335026 ui: FirewallRules.js: fix #3049 wider rule number column
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>
2020-10-01 16:35:26 +02:00
Thomas Lamprecht
3bbce3b8cd drop jslint lines
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-06-06 18:11:47 +02:00
Thomas Lamprecht
6db91b0fdc followup: move to advanced column
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-03-20 09:58:02 +01:00
Christian Ebner
3c37fe48a9 fix: # 2123 Logging of user defined firewall rules
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>
2019-03-20 08:55:28 +01:00
Thomas Lamprecht
ef4ef788d5 use InputPanel from widget toolkit
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
2018-01-25 13:36:38 +01:00
Thomas Lamprecht
56a353b9e7 use RestProxy from widget toolkit
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>
2018-01-25 13:36:38 +01:00
Thomas Lamprecht
9fccc702ec use windowEdit from widget toolkit
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
2018-01-25 13:36:38 +01:00
Thomas Lamprecht
09cacce778 use KVCombobox from widget toolkit
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
2018-01-25 13:36:38 +01:00
Thomas Lamprecht
896c0d5019 use Checkbox from widget toolkit
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
2018-01-25 13:36:38 +01:00
Dominik Csapak
e7ade592e3 use Proxmox.Utils instead of PVE.Utils
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>
2018-01-25 13:36:38 +01:00
Dominik Csapak
5720fafabc use Button from widget toolkit
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-01-25 13:36:37 +01:00
Dominik Csapak
3b1ca3ff5d use Proxmox.button.StdRemoveButton where possible
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>
2018-01-25 13:36:37 +01:00
Dominik Csapak
3ab7e0ec89 change pve-invalid-row class to proxmox-invalid-row
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>
2018-01-25 13:36:37 +01:00
Dominik Csapak
dbed4c1c05 use TextField from proxmox-widget-toolkit
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-01-25 13:36:37 +01:00
Dominik Csapak
0fc95a12ee use ComboGrid from proxmox-widget-toolkit
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2018-01-25 13:36:37 +01:00
Dominik Csapak
c0f75e23b7 highlight errors in grids
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>
2017-04-14 15:18:54 +02:00
Emmanuel Kasper
d5e771ce51 Rename 'create' to 'isCreate' in pveWindowEdit and subclasses
This fixes around 20 jslint type confusion warnings.
Also reduce the scope and document jslint warnings along the way.
No functional changes.
2017-03-02 10:36:35 +01:00
Dominik Csapak
123e1c808e make firewall panels/grids stateful
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>
2016-11-17 09:16:23 +01:00
Dominik Csapak
03375edf97 disable rules copy button if not 'in' or 'out' rule
else you could always click the button, but
nothing would happen

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-11-10 10:01:57 +01:00
Dominik Csapak
ba93a9c665 move onlineHelp into classes from definition
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>
2016-11-02 17:13:12 +01:00
Dominik Csapak
5eff07f74c grid/FirewallRules.js jslint fixes
trailing commas are bad

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-10-07 08:34:41 +02:00
Wolfgang Link
330020d2af fix #1108: add copy firewall rule to GUI
It is now possible to select a firewall rule on the GUI
and copy it as template for the new rule.
2016-10-05 07:06:51 +02:00
Dominik Csapak
91535f2ba7 htmlEncode some comment fields
this adds Ext.String.htmlEncode as renderer
for some comment/description fields

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-06-09 17:40:03 +02:00
Dominik Csapak
7c7ae44f25 jslint: fix tab/space mixed intendation
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-04-29 17:09:44 +02:00
Dominik Csapak
a764c5f72e jslint: fix missing or extra semicolon
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-04-29 17:07:42 +02:00
Dominik Csapak
22f2f9d6c0 jslint: remove trailing commas
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>
2016-04-29 17:06:34 +02:00
Dominik Csapak
5ca0c804c6 remove displayfield height hack
this did not work anymore,
instead overwrite css for displayfields to have correct
min-height

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2016-04-06 16:29:35 +02:00
Emmanuel Kasper
1fafdce8c2 ext6migrate: fix display of sport/dport/proto combo boxes
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
2016-02-15 12:28:23 +01:00
Emmanuel Kasper
3d990919c2 ext6migrate: set valueField as a class property
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)
2016-02-15 12:28:13 +01:00
Emmanuel Kasper
fa94a9776a ext6migrate: push array elements separately
This fix is needed for buttons and columns to be properly displayed when
loading the component.
2016-02-03 16:39:28 +01:00
Emmanuel Kasper
e7bc7f3192 ext6migrate: adapt to new KVComboBox interface 2016-02-03 15:00:07 +01:00
Emmanuel Kasper
f3578e261f ext6migrate: replace new with Ext.create()
This allows us in the future to use the ExtJS class
autoloader if we want
2016-02-03 14:59:54 +01:00
Emmanuel Kasper
7a4c3133bc ext6migrate: adapt the Checkbox column of the firewall panel to ExtJS6
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
2016-01-28 16:56:17 +01:00
Dietmar Maurer
bac5bd135c rename manager5 to manager6 2016-01-22 11:24:10 +01:00