[pve-devel] [PATCH cluster/qemu-server/container/wt/manager v8] add tags to ui
Dominik Csapak
d.csapak at proxmox.com
Tue Oct 18 16:02:06 CEST 2022
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
More information about the pve-devel
mailing list