centreon-archived icon indicating copy to clipboard operation
centreon-archived copied to clipboard

[PoC] feat(UI): Implementation of multi columns dashboarding system

Open Thebarda opened this issue 2 years ago • 1 comments

Description

This is a Proof of Concept

https://user-images.githubusercontent.com/12515407/195647574-977245d2-894a-4de3-bbb0-a1535ff832db.mov

This PoC evaluates the complexity of developing a multi columns dashboarding system.

Here are the features supported by this PoC:

  • Add a system of 3 columns (will be updated to 12 columns soon)
  • Add a button to add a widget
  • Add a button to remove a widget
  • Add a button to duplicate a widget with the same content
  • Create a simple and interactive widget with dynamic import (Module Federation)
  • Create a complex widget that displays a service's performance graph with dynamic import (Module Federation)
  • Handle responsiveness following screen size using breakpoints

How to test it?

  • Go to centreon/www/widgets/centreon-text-widget then run npm run build
  • Go to centreon/www/widgets/centreon-performance-graph then run npm run build
  • In the dev ecosystem, check out to custom-views-nightly
  • Start the dev ecosystem
  • Go to "Home > Custom views (nightly)"
  • Play with available widgets :)

About performances:

Here is a screenshot when dragging a widget without moving other widgets Screenshot 2022-10-19 at 11 58 59

Dragging a widget that moves widgets around Screenshot 2022-10-19 at 12 00 13

Resizing the window to change the global layout Screenshot 2022-10-19 at 12 00 58

Type of change

  • [ ] Patch fixing an issue (non-breaking change)
  • [ ] New functionality (non-breaking change)
  • [ ] Breaking change (patch or feature) that might cause side effects breaking part of the Software

Target serie

  • [ ] 21.04.x
  • [ ] 21.10.x
  • [ ] 22.04.x
  • [ ] 22.10.x (master)

How this pull request can be tested ?

Please describe the procedure to verify that the goal of the PR is matched. Provide clear instructions so that it can be correctly tested.

Any relevant details of the configuration to perform the test should be added.

Checklist

Community contributors & Centreon team

  • [ ] I have followed the coding style guidelines provided by Centreon
  • [ ] I have commented my code, especially new classes, functions or any legacy code modified. (docblock)
  • [ ] I have commented my code, especially hard-to-understand areas of the PR.
  • [ ] I have rebased my development branch on the base branch (master, maintenance).

Thebarda avatar Oct 13 '22 16:10 Thebarda