Fixes #23926: Display group compliance #5290
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
https://issues.rudder.io/issues/23926
Creates an Elm app for display of compliance by group (I copied most of the app structure from directives).
It also changes a bit of Scala frontend code in the summary page of a group, which therefore uses javascript to display compliance (this page has not been rewritten in Elm yet).
There is also some change in the Scala backend to add the policy mode of a rule and a node to the API response.
The 'global' and 'targeted' compliance is specific to groups, and it can be seen as filters for the rules and nodes displayed in the compliance tree :
![image](https://private-user-images.githubusercontent.com/65616064/292905567-d569e193-9a35-4d1a-bfcf-6f471baa7eff.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjExMzE2NTgsIm5iZiI6MTcyMTEzMTM1OCwicGF0aCI6Ii82NTYxNjA2NC8yOTI5MDU1NjctZDU2OWUxOTMtOWEzNS00ZDFhLWJmY2YtNmY0NzFiYWE3ZWZmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE2VDEyMDIzOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQ0YzEwMmM3ZTU1Y2ExZTZlMDhkOTE5NzczMzIwN2YyYjdhZjFmNDg5YWQzMTFhNzIzNGMwNGQ0NjZhNThhMWImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.vpBYqSAwhHKftGbSi-7c1OfD8x87i_fZMxnqs8YRKXI)
When the filter value is changed (e.g. from 'global' to 'targeted'), I made the compliance table display in "reload" state until the new compliance data is fetched, as it may take some time for the new data to be shown.