IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
as loading the whole wtk breaks the mobile ui and is
- not always trivial to fix
- a sisyphean task (in the future)
- we don't check this often, so breakage is likely to go unnoticed
I.e., just much simple to freeze this also in time..
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
not that this UI has _that_ much use, but mobile users might be happy
to only load 931 KB and not 3.6 MB (3.85 times as many)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Use the same validation as the guest creation wizards do to catch
errors early, before sending the API request.
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
As reported in the community forum[0], as opposed to VM/LXC creation,
there is no validation for the name in the clone dialog. Use the same
validation as the guest creation wizards do to catch errors early,
before sending the API request.
[0]: https://forum.proxmox.com/threads/125883/#post-549304
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
If a user is accessing the Ceph panel via Datacenter -> Ceph, then the
install & config wizard might be shown. The nodename that is passed to
the wizard will decide the ID of the initial MON and MGR services.
Therefore, don't fall back to 'localhost' but the actual name of the
node to which we are connected to. The result will be that the first MON
and MGR will have the expected ID instead of 'localhost'.
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
'selectPoolMembers' will be called when the poolid field changes.
(That can even happen when the mode is not even 'pool') Due to how
the fields are set, there is a race condition that this will be
called after the remaining fields were set up, including the VM list
that might have entries selected.
Since the first thing we do here is to deselect all, this wiped the
virtual guest selection sometimes.
To fix it, check if we're actually in the correct mode before doing
anything.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
If we just pass the me.reload as function reference it won't be
executed with `this` being the view controller, so call it directly
on that instead.
Reported-by: Stefan Hanreich <s.hanreich@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Having "Color" added makes it easier to translate (i.e. Farbschema,
配色) and at least as understandable as Theme, so change it,
Suggested-by: Markus Frank <m.frank@proxmox.com>
[ T: while Markus suggested Color Scheme, the hive-mind opted for
this ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
The change handler of the edit config from a displayEditField still
triggers, even if hidden and disabled. This then enables another
editConfig part of a displayEditField, which triggers an error in the
API.
To fix that, simply check if this field is disabled before setting
the other fields value
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Seemingly, an empty array is special for Ext JS, and if we push into
it, we overwrite the class definition of that property.
This does not happen when something is already in the array, so the
other edit windows work as expected
To fix it here, remove the empty array entirely, since we already
create an empty one when we need it
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
ceph/pools (plural) is deprecated, use the new one.
Since the details / status of a pool has been moved from previously
ceph/pools/{name} to now ceph/pool/{name}/status, we need to pass the
'loadUrl' to the edit window.
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-by: Dominik Csapak <d.csapak@proxmox.com>
One MDS can only serve a single CephFS at a time and for redundancy
one wants to have standby's on other nodes.
But with multiple CephFS instances a single MDS per node might not be
enough, e.g., with three FS on a three-node cluster a failure of one
node would mean that on CephFS won't work anymore.
While the API and CLI allowed to set up multiple CephFS per node
already, the UI didn't. Address this by adding an `Extra ID` field
that will be suffixed to the base ID, which always contains the node
as that makes sorting and also associating services to their node
easier.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
From a usability view, having a checkbox that is not clickable is pretty
misleading, especially if the visual style is exactly the same as in
other places in the UI where the checkbox is functional.
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
The private key's field is now excluded from the upload form's
JSON data if it's left empty.
Prior to this change, the form still used an empty string for the
private key's field, even if no key was provided by the user.
Because the key's field is marked as optional in the upload cert
API endpoint, JSONSchema validation would therefore fail.
Suggested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Max Carrara <m.carrara@proxmox.com>
This change replaces the the certificate upload form's items with
a single inputpanel widget. The components for the key and cert fields
are preserved as-is. Hardcoded values are now explicitly set in
`onGetValues` instead of using hidden widgets.
Suggested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Max Carrara <m.carrara@proxmox.com>
if the user has the tree sorted by name, we have to move the items
on a name change, otherwise they'll stay on the old position
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This new windows provides more detailes about an OSD such as:
* PID
* Memory usage
* various metadata that could be of interest
* list of phyiscal disks used for the main disk, db and wal with
additional infos about the volumes for each
A new 'Details' button is added to the OSD overview and a double click
on an OSD will also open this new window.
The componend defines the items in the initComponent instead of
following a fully declarative approach. This is because we need to pass
the same store to multiple Proxmox.ObjectGrids.
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-by: Dominik Csapak <d.csapak@proxmox.com>
Render the OSD listening addresses a bit nicer and one per line.
Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-by: Dominik Csapak <d.csapak@proxmox.com>
we use a different api call where we currently don't have the tags or
lock, so don't add the columns there
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
the auto theme uses media queries to detect a users preferred theme,
switch to using it per default instead of the light theme.
Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
we previously removed the 'filters' property from the store, but this
has the effect that the filter array is only ever initialized when
we try to access them via the specified api of extjs
so instead of adding them manually to their array, use the 'addFilter'
method of extjs
also use 'getStore()' instead of directly accessing the store to be
consistent with the extjs api use
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
simplifies some things, e.g. en/disabling the grid and pool selector
while refactoring, cleanup up some smaller things like nested if/else
paths, unnecessary splitting of the deprecated 'dow' parameter, etc.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
by adding records manually when using 'setValue' on a vmselector.
It'll show up normally but have an 'unknown' nodename, and no type/status/etc.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
by replacing the manual vm grid implementation and reusing the
VMSelector we already have. Since this is a full-fledged form field, we
can drop the complicated selection tracking / reselecting that we did
by saving into a hidden field.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
since the invalid class is manually handled, validity needs to be
checked explicitly too on setDisabled
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
So that we can modify any filters without always having to consider
filtering for the type too. Note that the 'vm' tyoe here is slightly
confusing and should actually be 'guest', as this also returns
containers. Reduces transmission size a bit as nice side effect.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
When one calls setValue or getValue during a store load, the store
might be empty or incomplete, so defer the selection after the load
and cache the value for getValue invocations until the store is
loaded
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
We will reuse this component in other place, which might not always
want to show all columns
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
the "proxmox-inline-button" class is redundant in the crisp theme as
it only sets the buttons text to black. we mainly use that class for
"help" buttons. this is useful in the dark theme, because we want help
buttons to stand out a bit so (possibly confused) users are drawn to
them more easily. removing the class here doesn't change anything for
"crisp", but makes the dark theme appear more consistent. also fixes
up an unnecessary space.
Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
Since the rule selector is not allowed to be empty, but the loading
of the rules is not instant, the validity change will trigger before
the load was finished. Since it is in the advanced section, it will
be opened every time instead of only when there is an invalid value.
This patch fixes that by temporarily setting 'allowBlank' to true
until the store is loaded, and then it revalidates the field.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-By: Aaron Lauterer <a.lauterer@proxmox.com>
As otherwise the listeners might choke on the missing records.
For our usage it was only a problem when one changed the tree UI
options while having the Datacenter -> Summary panel open, as that
listens to the UI changes to adapt the shown gauges for e.g., memory,
storage, or CPUs, and thus actually uses the current result (unlike
we do in the store load listener).
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
add support for setting the background and text color via css. also
allows for dynamically switching the color when a theme change is
detected.
Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
setting the background color in js code adds that property as a style
attribute to the element. that makes it hard to alter later via css
and makes it hard to dynamically change the color e.g. if we want to
add different themes. the background color for these elements are
white already anyway, so just remove them here.
Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
load the dark theme only if requested through a cookie, also adds
support for the "auto" theme that uses the dark theme based on a
media query.
this requires a bump of the widget toolkit so the dark-theme css file
is available.
Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
this requires a bump of the widget toolkit so the version includes the
necessary widgets.
Signed-off-by: Daniel Tschlatscher <d.tschlatscher@proxmox.com>
Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
inline the transformation for the health store and also avoid setting
raw data from the outside
and drop some bogus comments along the way, first one should mostly
use "why?" not "what happens?" comments and second, commenting
straight forward things always makes one pause and recheck everything
far to often, as a comment indicates there something non-obvious
happening.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>