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!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
isValid is a boolean not a callback, so won't really work and just
set the state once.
Use the `validator` and first call into the parents helper, then do
our logic and return a string with an explanation in the expected
invalid case.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
As in that case it's actually safe, so rather show as warning, albeit
even info/notice like would probably be enough, but still, it is not
a configuration that is wanted permanently.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
We have some longer descriptions so the default width looks crammed.
Also, avoid a intermediate variable which is only used once without
any change.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
by iterating only once over the info array and adding them directly
to the records this way we can avoid iterating over the records
again
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
we already have a viewmodel we can use, and so the handler does
not have to navigate the component tree up/down
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
having double borders does not look so nice, separate them with a bit
of padding
also change the warning panel to a simple header
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Used svgcleaner[0] with the following safe[1] command:
```
svgcleaner INPUT.svg OUTPUT.svg --indent 1 --resolve-use no \
--convert-shapes no --group-by-style no --join-arcto-flags no \
--join-style-attributes no --remove-comments no --remove-declarations no \
--remove-invisible-elements no --remove-metadata no \
--remove-nonsvg-attributes no --remove-nonsvg-elements no \
--remove-text-attributes no --remove-title no \
--remove-unreferenced-ids no --trim-ids no --ungroup-groups no \
--list-separator comma
```
Resulting size reductions:
Debian 22.51% smaller
Proxmox 51.00% smaller
Note that the Debian one had a small issue with a unused variable set
which I reported[2] and cleaned up manually for now.
[0]: https://github.com/RazrFalcon/svgcleaner
[1]: https://commons.wikimedia.org/wiki/User:JoKalliauer/Optimization#svgcleaner
[2]: https://github.com/RazrFalcon/svgcleaner/issues/240
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
also add a new 'pmx-itype-icon' helper class for the classic bg
repeat/position option to allow more easier reuse
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
this copies most of the task grid from pbs, but adds handling so that
users can add aribtrary filter fields
the filter fields always present are:
* since
* until
* task type
* task status
other filters fields can be added by giving an 'extraFilter' array
which must contain widget definitions that emit a 'change' event.
this is then used to update the filters for the api call
also you can add a 'preFilter' object, that sets the filter parameter
only once at the beginning
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Not only into those with an xtype one, as we can either have a
implicit default xtype (e.g., in tbars for buttons, or set explicitly
via the `defaults` mechanism) or want to apply cbinds to stores or
other objects.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
product defaults to PVE. It is added in the warnings and should be
set by any instance correctly.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
else the repo/header difference is not that big, and it gets a bit
hard to read as it feels a bit monotonic
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
it seems that something changed in extjs 7 which does not quite
restore the correct scroll position when the identical content is set
on a component. this means that sometimes, we update the text
with the identical one, but the scroll position is now off, only
to scroll back to the bottom
this causes a flickering everytime we do the api call.
instead, only update the component when the content really changed.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This makes check box lists like the following snipped work:
- [X] Done
- [ ] not done
Further allow the start attr, sometimes generated for ordered lists.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Define our own, rather minimal interface so that we change the parser
under the hood if ever needed, I already did so once during
evaluating this, as first I checked out Snarkdown[0], which is really
nice for the few lines of code it needs, but is a bit to limited for
the use case.
Currently marked[1] is used, provided by the libjs-marked Debian
package.
For now statically link the marked parser in on built time to avoid
the need to add new directories to serve in our pve/pmg/pbs proxies.
This is a bit ugly but can be cleaned up afterwards transparently
too.
We sanitize the produced HTML ourselves (most MD JS parser/renderer
don't do that) by creating a real, but not active, DOM tree and
recursively prune bad nodes/attrs from it and let it spit out HTML
again at the end. While a tad inefficient it really won't matter for
our use case, as the notes/comments we render are only a few KiB of
text and it's done on the client side anyway.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
We do not want to trigger an autoSelect if there's a value set, even
if it isn't found in the store, as that hides the fact that an (now)
invalid valid is configured from the user, which can be confusing if
something is not working, as when editing an object it seems like a
valid value is selected.
Further, if a value is set we mark the field as invalid from the
start, at least if it's neither disabled nor allowed to have a
value which is does not exists in the backing store.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>