Skip to content

[8.17] [refactoring] Distinguish User Controls from Risk Engine in DashboardEnablementPanel (#212441)#212561

Merged
CAWilson94 merged 4 commits intoelastic:8.17from
CAWilson94:backport/8.17/pr-212441
Feb 27, 2025
Merged

[8.17] [refactoring] Distinguish User Controls from Risk Engine in DashboardEnablementPanel (#212441)#212561
CAWilson94 merged 4 commits intoelastic:8.17from
CAWilson94:backport/8.17/pr-212441

Conversation

@CAWilson94
Copy link
Contributor

Backport

This will backport the following commits from main to 8.17:

Questions ?

Please refer to the Backport tool documentation

…EnablementPanel (elastic#212441)

This PR refactors naming and logic in EntityStoreEnablementModal to
improve readability and better distinguish between:
1. Feature enablement state – Whether Risk Score or Entity Store is
actually enabled.
2. User-selected state – Whether the user has checked the corresponding
toggle.

- Renamed disabled → canToggle to clearly represent UI interaction.
- Renamed enablements → userSelectedEnablements to reflect user-selected
toggle states, not feature enablement.
- Refactored shouldAllowEnablement logic for clarity and correctness:
- If riskScore is enabled, return whether the user has enabled
entityStore.
- If entityStore is enabled, return whether the user has enabled
riskScore.
     - Otherwise, return true if either toggle is selected.
- Updated corresponding tests to reflect naming and logic changes.
Manually tested the toggling behaviour still works as before and modal
still shows warning, and disables the "enable" button when there are no
available options selected.

https://github.com/user-attachments/assets/0f2a3f59-e2a0-4c8b-a350-70a9573a8566
(cherry picked from commit 874cee2)
…EnablementPanel (elastic#212441)

## Summary
This PR refactors naming and logic in EntityStoreEnablementModal to
improve readability and better distinguish between:
1. Feature enablement state – Whether Risk Score or Entity Store is
actually enabled.
2. User-selected state – Whether the user has checked the corresponding
toggle.

#### Changes

- Renamed disabled → canToggle to clearly represent UI interaction.
- Renamed enablements → userSelectedEnablements to reflect user-selected
toggle states, not feature enablement.
- Refactored shouldAllowEnablement logic for clarity and correctness:
- If riskScore is enabled, return whether the user has enabled
entityStore.
- If entityStore is enabled, return whether the user has enabled
riskScore.
     - Otherwise, return true if either toggle is selected.
- Updated corresponding tests to reflect naming and logic changes.

## Testing/Validation
Manually tested the toggling behaviour still works as before and modal
still shows warning, and disables the "enable" button when there are no
available options selected.

### Validation Video

https://github.com/user-attachments/assets/0f2a3f59-e2a0-4c8b-a350-70a9573a8566
canToggle: entityStore.status === 'enabled',
checked: entityStore.status !== 'enabled',
canToggle: entityStore.status !== 'enabled',
checked: true,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On initial modal load, should expect that the toggles are always checked.

@CAWilson94
Copy link
Contributor Author

CAWilson94 commented Feb 26, 2025

Desk tested again after merge fixes - works 👍

Modal warning should show under conditions -

  1. (RiskScore & EntityEngine notInstalled) && both switched are not in checked state.
  2. (RiskScore is installed and in checked state) && EntityEngine is not installed and NOT in checked state.
  3. (EntityEngine is installed and in checked state) && RiskEngine is not installed and NOT in checked state.

When modal warning shows, the "Enable" action button will be greyed out and disabled.

enableStore={enableEntityStore}
riskScore={{ disabled: isRiskScoreAvailable, checked: !isRiskScoreAvailable }}
riskScore={{
canToggle: !isRiskScoreAvailable,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RiskEngineStatusEnum came after this version, merge mix up corrected with isRiskScoreAvailable added back in.

Copy link
Member

@machadoum machadoum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@CAWilson94 CAWilson94 merged commit f3192d7 into elastic:8.17 Feb 27, 2025
8 checks passed
@elasticmachine
Copy link
Contributor

💛 Build succeeded, but was flaky

Failed CI Steps

Test Failures

  • [job] [logs] Jest Tests #15 / useExpandedCard Hook when the page is completely loaded should scroll to the expanded card id from the hash

Metrics [docs]

✅ unchanged

History

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport This PR is a backport of another PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants