]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mgr/dashboard: add backend-driven UI tables
authorErnesto Puerta <epuertat@redhat.com>
Tue, 2 Nov 2021 12:03:19 +0000 (13:03 +0100)
committerPere Diaz Bou <pere-altea@hotmail.com>
Fri, 5 May 2023 16:43:11 +0000 (18:43 +0200)
commit7934ce335287a260af3ab3c77ecd92ca941910a4
tree2e9943f3b1ffb0be5d21a58a73630c8d8cc4090b
parent24b6b6854925b8422aae662e7f191b373d55aaad
mgr/dashboard: add backend-driven UI tables

As an example this PR displays the list of Ceph Auth users, keys and
caps.

It tries to minimize the amount of UI code required by feeding a generic
table-like component (RestTable) with backend-generated JSON data.

This is just a proof of concept and there's lot of room for improvement.

Fixes: https://tracker.ceph.com/issues/52701
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
Signed-off-by: Pere Diaz Bou <pdiazbou@redhat.com>
Signed-off-by: Nizamudeen A <nia@redhat.com>
(cherry picked from commit f6c88f4c30a8de8b03aaa96b2e8916943eab5f80)
21 files changed:
src/pybind/mgr/dashboard/controllers/__init__.py
src/pybind/mgr/dashboard/controllers/_crud.py [new file with mode: 0644]
src/pybind/mgr/dashboard/controllers/ceph_users.py [new file with mode: 0644]
src/pybind/mgr/dashboard/frontend/cypress/integration/cluster/users.e2e-spec.ts [new file with mode: 0644]
src/pybind/mgr/dashboard/frontend/cypress/integration/cluster/users.po.ts [new file with mode: 0644]
src/pybind/mgr/dashboard/frontend/cypress/integration/ui/navigation.po.ts
src/pybind/mgr/dashboard/frontend/src/app/app-routing.module.ts
src/pybind/mgr/dashboard/frontend/src/app/core/navigation/navigation/navigation.component.html
src/pybind/mgr/dashboard/frontend/src/app/core/navigation/navigation/navigation.component.spec.ts
src/pybind/mgr/dashboard/frontend/src/app/shared/datatable/crud-table/crud-table.component.html [new file with mode: 0644]
src/pybind/mgr/dashboard/frontend/src/app/shared/datatable/crud-table/crud-table.component.scss [new file with mode: 0644]
src/pybind/mgr/dashboard/frontend/src/app/shared/datatable/crud-table/crud-table.component.spec.ts [new file with mode: 0644]
src/pybind/mgr/dashboard/frontend/src/app/shared/datatable/crud-table/crud-table.component.ts [new file with mode: 0644]
src/pybind/mgr/dashboard/frontend/src/app/shared/datatable/datatable.module.ts
src/pybind/mgr/dashboard/frontend/src/app/shared/models/crud-table-metadata.ts [new file with mode: 0644]
src/pybind/mgr/dashboard/frontend/src/app/shared/services/data-gateway.service.spec.ts [new file with mode: 0644]
src/pybind/mgr/dashboard/frontend/src/app/shared/services/data-gateway.service.ts [new file with mode: 0644]
src/pybind/mgr/dashboard/openapi.yaml
src/pybind/mgr/dashboard/tests/__init__.py
src/pybind/mgr/dashboard/tests/test_ceph_users.py [new file with mode: 0644]
src/pybind/mgr/dashboard/tests/test_crud.py [new file with mode: 0644]