From: Dominik Csapak <d.csapak@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH cluster/qemu-server/container/wt/manager v8] add tags to ui
Date: Tue, 18 Oct 2022 16:02:06 +0200 [thread overview]
Message-ID: <20221018140226.598710-1-d.csapak@proxmox.com> (raw)
this series brings the already existing 'tags' for ct/vms to the gui:
* tags can be edited in the status toolbar of the guest
* existing tags will be shown in the tree/global search/resource grids
* when editing a tag, a list of existing tags will be shown
* by default, the color is (consistently) autogenerated based on the
text
* that color can be overriden in datacenter -> options (cluster wide)
(edit window for browser local storage is TBD)
* by default, the text color is either white or black, depending which
provides the greater contrast (according to SAPC)
* this text color can also be overridden
* there are multiple shapes available for the tree
* implements some permission control in datacenter.cfg with
'user-tag-privileges' and 'admin-tags' with that it's possible to have
better control over what tags a user can actually add to its guests
i intentionally left out the gui for those for now, but they shouldn't
be that hard to add, should we go this way
changes from v7:
* rebase on master
* changed admin tags from special syntax to datacenter.cfg option
* add 'user-tag-privleges' option and according api permission checks
* fixed some small bugs with permission checks (e.g. now we check
the tag count, so that users cannot add tags multiple times that
already exist but they have no privileges for)
* completely reworked the form/Tag and form/TagEdit, their
implmementation is now much cleaner imho (squashed the drag&drop
changes into the intial patches)
* squashed some patches together that fit together
* fixed some drag&drop bugs, so it should now work much better
changes from v6:
* reworded some commit messages
* added small benchmark result to CFS_IPC_GET_GUEST_CONFIG_PROPERTIES commit msg
* reshaped datacenter.cfg format into a property-string
(also combined the gui edit window for shape+color override)
* refactored the pve-tags regex in pve-common/JSONSchema
* added admin tags ('+tag' syntax) with priv checks in qemu-sever/pve-container
and subtle highlighting in the gui (bold-text)
* added tag rendering in resource grids
* add patches for drag&drop support when editing
pve-cluster:
Dominik Csapak (4):
add CFS_IPC_GET_GUEST_CONFIG_PROPERTIES method
Cluster: add get_guest_config_properties
datacenter.cfg: add option for tag-style
DataCenterConfig: add tag rights control to the datacenter config
data/PVE/Cluster.pm | 27 ++++++
data/PVE/DataCenterConfig.pm | 130 +++++++++++++++++++++++++
data/src/cfs-ipc-ops.h | 2 +
data/src/server.c | 64 +++++++++++++
data/src/status.c | 177 ++++++++++++++++++++++++-----------
data/src/status.h | 3 +
6 files changed, 347 insertions(+), 56 deletions(-)
qemu-server:
Dominik Csapak (1):
api: update: improve tag privilege check
PVE/API2/Qemu.pm | 51 +++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 50 insertions(+), 1 deletion(-)
pve-container:
Dominik Csapak (1):
check_ct_modify_config_perm: improve tag privilege check
src/PVE/LXC.pm | 39 +++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
proxmox-widget-toolkit:
Dominik Csapak (2):
add tag related helpers
Toolkit: add override for Ext.dd.DragDropManager
src/Toolkit.js | 16 ++++++++
src/Utils.js | 88 ++++++++++++++++++++++++++++++++++++++++++++
src/css/ext6-pmx.css | 45 ++++++++++++++++++++++
3 files changed, 149 insertions(+)
pve-manager:
Dominik Csapak (12):
api: /cluster/resources: add tags to returned properties
api: add /ui-options api call
ui: call '/ui-options' and save the result in PVE.UIOptions
ui: parse and save tag color overrides from /ui-options
ui: tree/ResourceTree: collect tags on update
ui: add form/TagColorGrid
ui: dc/OptionView: add editors for tag settings
ui: add form/Tag
ui: add form/TagEdit.js
ui: {lxc,qemu}/Config: show Tags and make them editable
ui: tree/ResourceTree: show Tags in tree
ui: add tags to ResourceGrid and GlobalSearchField
PVE/API2.pm | 43 +++
PVE/API2/Cluster.pm | 9 +-
www/css/ext6-pve.css | 5 +
www/manager6/Makefile | 3 +
www/manager6/Utils.js | 71 ++++-
www/manager6/Workspace.js | 22 ++
www/manager6/data/ResourceStore.js | 7 +
www/manager6/dc/OptionView.js | 88 +++++-
www/manager6/form/GlobalSearchField.js | 20 +-
www/manager6/form/Tag.js | 233 ++++++++++++++++
www/manager6/form/TagColorGrid.js | 357 +++++++++++++++++++++++++
www/manager6/form/TagEdit.js | 316 ++++++++++++++++++++++
www/manager6/grid/ResourceGrid.js | 1 +
www/manager6/lxc/Config.js | 36 ++-
www/manager6/qemu/Config.js | 35 ++-
www/manager6/tree/ResourceTree.js | 20 +-
16 files changed, 1247 insertions(+), 19 deletions(-)
create mode 100644 www/manager6/form/Tag.js
create mode 100644 www/manager6/form/TagColorGrid.js
create mode 100644 www/manager6/form/TagEdit.js
--
2.30.2
next reply other threads:[~2022-10-18 14:03 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-18 14:02 Dominik Csapak [this message]
2022-10-18 14:02 ` [pve-devel] [PATCH cluster v8 1/4] add CFS_IPC_GET_GUEST_CONFIG_PROPERTIES method Dominik Csapak
2022-10-18 14:02 ` [pve-devel] [PATCH cluster v8 2/4] Cluster: add get_guest_config_properties Dominik Csapak
2022-10-18 14:02 ` [pve-devel] [PATCH cluster v8 3/4] datacenter.cfg: add option for tag-style Dominik Csapak
2022-11-10 9:54 ` Thomas Lamprecht
2022-10-18 14:02 ` [pve-devel] [PATCH cluster v8 4/4] DataCenterConfig: add tag rights control to the datacenter config Dominik Csapak
2022-11-09 14:42 ` Aaron Lauterer
2022-11-10 10:09 ` Thomas Lamprecht
2022-10-18 14:02 ` [pve-devel] [PATCH qemu-server v8] api: update: improve tag privilege check Dominik Csapak
2022-10-18 14:02 ` [pve-devel] [PATCH container v8] check_ct_modify_config_perm: " Dominik Csapak
2022-10-18 14:02 ` [pve-devel] [PATCH widget-toolkit v8 1/2] add tag related helpers Dominik Csapak
2022-10-18 14:02 ` [pve-devel] [PATCH widget-toolkit v8 2/2] Toolkit: add override for Ext.dd.DragDropManager Dominik Csapak
2022-10-18 14:02 ` [pve-devel] [PATCH manager v8 01/12] api: /cluster/resources: add tags to returned properties Dominik Csapak
2022-10-18 14:02 ` [pve-devel] [PATCH manager v8 02/12] api: add /ui-options api call Dominik Csapak
2022-10-18 14:02 ` [pve-devel] [PATCH manager v8 03/12] ui: call '/ui-options' and save the result in PVE.UIOptions Dominik Csapak
2022-10-18 14:02 ` [pve-devel] [PATCH manager v8 04/12] ui: parse and save tag color overrides from /ui-options Dominik Csapak
2022-10-18 14:02 ` [pve-devel] [PATCH manager v8 05/12] ui: tree/ResourceTree: collect tags on update Dominik Csapak
2022-10-18 14:02 ` [pve-devel] [PATCH manager v8 06/12] ui: add form/TagColorGrid Dominik Csapak
2022-10-18 14:02 ` [pve-devel] [PATCH manager v8 07/12] ui: dc/OptionView: add editors for tag settings Dominik Csapak
2022-10-18 14:02 ` [pve-devel] [PATCH manager v8 08/12] ui: add form/Tag Dominik Csapak
2022-10-18 14:02 ` [pve-devel] [PATCH manager v8 09/12] ui: add form/TagEdit.js Dominik Csapak
2022-10-18 14:02 ` [pve-devel] [PATCH manager v8 10/12] ui: {lxc, qemu}/Config: show Tags and make them editable Dominik Csapak
2022-10-18 14:02 ` [pve-devel] [PATCH manager v8 11/12] ui: tree/ResourceTree: show Tags in tree Dominik Csapak
2022-10-18 14:02 ` [pve-devel] [PATCH manager v8 12/12] ui: add tags to ResourceGrid and GlobalSearchField Dominik Csapak
2022-11-07 14:56 ` [pve-devel] [PATCH manager] ui: add missing tag classes Dominik Csapak
2022-11-09 13:11 ` [pve-devel] [PATCH cluster/qemu-server/container/wt/manager v8] add tags to ui Aaron Lauterer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221018140226.598710-1-d.csapak@proxmox.com \
--to=d.csapak@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox