a simple objectgrid to display datastore gc/prune options
needs the prune inputpanel to be refactored in its own class
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
goes through the sections in the documents and creates the
OnlineHelpInfo.js file from the explicitly defined section labels which
are used in the js files with 'onlineHelp' variable.
taken mostly from PVE, with adaption to how PBS does things.
Main difference is that we do not have a resource store singleton
here which we can use, but for datastores we can already use the
always present datastore-list store. Register it to the store manager
with a "storeId" property (vs. our internal storeid one).
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
modelled after the PVE one, but we are not 1:1 compatible and need
deleteEmpty support. For now let's just have some duplicate code, but
we should try to move this to widget toolkit ASAP.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
enables to be able to download whole files from the backup (e.g.
the decoded didx/fidx/blobs) for unencrypted backups
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this also contains an adapted CreateDirectory window
for now this is mostly copied, since refactoring was not that
straightforward (changed parameters, etc.)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
LongestTasks:
grid that shows tasks sorted by duration in descending order
RunningTasks:
grid that shows all running tasks
TaskSummary:
an overview of backup,prune,gc and sync tasks (error/warning/ok)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
shows an overview over the datastores, including a small chart of the
past month and an estimation of when its full
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
split them into two files and put them into the respective directory
refactor the DataStoreConfigPanel to controller/view
and the DataStoreEdit window/inputpanel to simply an editwindow
(there is no need to have a seperate inputpanel) which also
prepares the window for edit (by using pmxDisplayEditFields)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
We will show an overall status of the DataStores in the Dashboard, so there
is no need for a seperate DataStores Status.
This means we can move the Config to where the Status was, and remove
the duplicated entry in the NavigationTree, reducing confusion for users
We can still seperate the permissions by simply showing a permission
denied error, or simply leaving the list empty
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
shows a nice overview of sync jobs (incl status of last run, estimated
next run, etc.) with options to add/edit/remove and also show the
log of the last run and manually run it now
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
by introducing a datastorepanel (a TabPanel) which holds the content
and acl panel for now.
to be able to handle this in the router, we have to change the logic
of how to select the datastore from using the subpath to putting it
into the path (and extracting it when necessary)
if we need this again (e.g. possibly for remotes), we can further
refactor this logic to be more generic
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this has to be different from pve for now, since the default of
'enabled' is reverted (pve: default disabled, pbs: default enabled)
if we decide to change this either here or in pve, we can refactor
it to the widget-toolkit
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
using a handlebars instance in ApiConfig, to cache the templates
as long as possible, this is currently ok, as the index template
can only change when the whole package changes
if we split this in the future, we have to trigger a reload of
the daemon on gui package upgrade (so that the template gets reloaded)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
just a starting point, code ported initially over from PMG, some
minor things are handled differently though, we have not multiple
nodes (for now) so it's very 'localhost' centric.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
some fitting rules copied over from PVE's ext6-pve.css file.
simply place it in the css subfolder where the proxmox-backup-gui.js
file is hosted and add a "css/" alias for that directory, the
formatter gets use the right content type with that.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Add a defines.mk file defining the standard default layout
for installation (PREFIX, DATAROOTDIR, LIBDIR etc.).
Add a $(JSDIR) variable and use env!("JSDIR") in place of
the hardcoded /usr/share/javascript/proxmox-backup path.
Have defines.mk include an *optional* local.mak to override
JSDIR to www/ during local development.
Add `make install` targets and remove debian/install.
Note that service files are now in $libdir/proxmox-backup/
as there's usually no point in starting them from the
command line, so /usr/sbin makes no sense.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
The server expects an images/ subdir and a js/ subdir, so we
should also compile our files using the same structure.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>