Skip to content

Add new structure "result per file" in Quality Report View

🚀 Feature Request

Summary

Enhance the Quality Report view by introducing a new structure and an option to switch between two hierarchical structures. Currently, the hierarchy is as follows:

  • Constraints → Files → Incidents

Some users prefer a structure where files are at the top level. Therefore, an alternative structure should be introduced:

  • Files → Constraints → Incidents

This feature should be implemented in the frontend, allowing users to switch between the two structures using a tab switcher similar to the existing file filters ('Files without incidents', 'Files with incidents', 'Files without Findings').

Problem to Solve / User Story

As a Constrainify user, I want the ability to choose between different hierarchical structures in the Quality Report view so that I can organize the result in a way that best fits my preferences.

Proposed Solution

  • Introduce a new toggle or tab switcher in the UI that allows users to select between:
    • Constraints → Files → Incidents (current structure)
    • Files → Constraints → Incidents (new structure)
  • Introduce new UI component for 'Files' at the top level and group it by 'Files with incidents', 'Files without incidents', and 'Files without Findings'.
  • Introduce new UI component for 'Constraints' at the mid level (including tab switch for 'Constraints without incidents', 'Constraints with incidents', 'Constraints without Findings'.)
  • Make UI component of incidents reusable and reuse it for 'Constraints' at the mid level
  • Add data objects 1) to count incidents per file and 2) incidents/compliances/findings per constraint of a file.

Benefits

  • Improved user experience by allowing flexibility in data visualization enhancing usability and adaptability.
  • Addresses the needs of different user preferences without affecting backend logic.

Possible Drawbacks

  • This feature could require refactoring the current structure to JS templates so it is more maintainable and reusable.
Edited by Markus Matoni