Commit Graph

26 Commits

Author SHA1 Message Date
Fabian Ebner 39478aa52c prune sim: correctly keep track of already included backups
This needs to happen in a separate loop, because some time intervals are not
subsets of others, i.e. weeks and months. Previously, with a daily backup
schedule, having:
* a backup on Sun, 06 Dec 2020 kept by keep-daily
* a backup on Sun, 29 Nov 2020 kept by keep-weekly
would lead to the backup on Mon, 30 Nov 2020 to be selected for keep-monthly,
because the iteration did not yet reach the backup on Sun, 29 Nov 2020 that
would mark November as being covered.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-12-15 14:03:18 +01:00
Thomas Lamprecht 6a99b930c4 followup: use arrow function for sorting
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-12-15 13:45:51 +01:00
Fabian Ebner f6ce45b373 prune sim: fix #3192: by fixing usage of sort()
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-12-15 13:45:51 +01:00
Fabian Ebner 21b552848a prune sim: make numberfields more similar to PBS's
by creating a new class that adds a clear trigger and also uses the
clear-trigger image. Code was taken from the one in PBS's prune window,
but we have default values here, so a bit of adapting was necessary. For
example, we don't want to reset to the original value (which might have
been one of the defaults) when clearing, but always to 'null'.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-11-19 09:47:51 +01:00
Thomas Lamprecht 0a0ba0785b prune sim: avoid colon to separate keep desc from count
hack for space issues for monthly keeps and >9 counts

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-11 08:20:13 +01:00
Thomas Lamprecht 6ed79592f2 prune sim: make backup schedule a form, bind update button to its validity
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-11 08:11:46 +01:00
Thomas Lamprecht 4c75ee3471 prune sim: do not use unecesarry variable, declare in line
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-11 08:11:16 +01:00
Thomas Lamprecht 6f997da8cd prune sim: set min-heigth for calendar day cells
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-11 08:10:43 +01:00
Fabian Ebner 924d6d4072 prune sim: show count for rule
and rename 'all zero' to 'keep-all' to make it consistent with the prune dialog
in PBS.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-11-10 11:47:37 +01:00
Thomas Lamprecht b690bb69eb prune sim: align documentation style with sphinx/alabaster ones
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-08 14:02:27 +01:00
Thomas Lamprecht f5c6a2c956 prune sim: slight layout adaptions
add some margin to the calendar table, to not make it seem glued to
the left and top, this follow what ExtJS does in general.

Further, adapt layout flex so that docs has 2/5 and calendar has 3/5
of space on small screens (e.g., 720p), makes it look much better
there.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-08 13:24:27 +01:00
Thomas Lamprecht 60d2a6157a prune sim: make prune options panel scrollable
Else it's cutoff on 720p resolution

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-07 14:33:15 +01:00
Thomas Lamprecht b83b12cf80 prune sim: add daily 00:00 as predefined schedule in selector
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-07 14:08:41 +01:00
Thomas Lamprecht 86847f487b prune sim: allow simulating up to 5 years
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-07 14:08:41 +01:00
Thomas Lamprecht 1b03910dea prune sim: spell out PBS, add some flex to layout
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-07 14:08:41 +01:00
Thomas Lamprecht 435a6c5e0a prune sim: fine tune calendar layout/style
Avoid black on white, to much contrast hurts the eye, use a dark grey
instead.

Highlight Sundays, and show month boundaries explicitly with strong
dashed border.

Factor out some manual set styles to classes and use them instead,
decoupling logic and styling a bit more.

Use span elements for plain text stuff, which should not be a block
(e.g., div) element.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-07 14:08:41 +01:00
Thomas Lamprecht 1f4befe136 prune sim: enable calendar by default
it has a really good non-intrusive layout now, so show it's glory by
default.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-07 13:36:58 +01:00
Thomas Lamprecht 7f0f366675 prune sim: do not continue with reload if we caught an exception
as we then try to dereference hours which is null, for example.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-07 13:35:58 +01:00
Thomas Lamprecht 362e69610c prune sim: set update button handler directly
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-07 13:35:26 +01:00
Thomas Lamprecht bad26df102 prune sim: factor out toggling color, and default to true
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-07 13:34:20 +01:00
Thomas Lamprecht 790627b4bf prune sim: avoid unnecessary viewmodel formula
we set a reference on the checkbox, so we get this for free

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-07 13:33:08 +01:00
Thomas Lamprecht 6de14a55ed prune sim: fix numberfield spinner scroll with firefox
copied over from widget toolkit

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-07 13:32:04 +01:00
Thomas Lamprecht 8b24c6880a prune sim: eslint fixes, do not define console
really not required nowadays, and we do not use it anyway here..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-07 13:31:14 +01:00
Thomas Lamprecht 5174956548 prune sim: improve documentation layout
Better line height, some margin on the edges, and max width to avoid
very long lines on wide displays.

Avoid to much contrast by using black on white, use a very dark grey
instead.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-11-07 13:28:50 +01:00
Dietmar Maurer 6823fdc7f9 ui: improve prune simulator layout 2020-11-06 12:12:59 +01:00
Fabian Ebner 67fd09791f create prune simulator
A stand-alone ExtJS app that allows experimenting with different backup
schedules and prune parameters.

The HTML for the documentation was taken from the PBS docs and adapted to the
context of the simulator.

For performance reasons, the week table does not use
subcomponents, but raw HTML.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2020-11-06 09:13:43 +01:00