Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make config flow previews more generic #21382

Merged
merged 2 commits into from
Jul 14, 2024

Conversation

karwosts
Copy link
Contributor

@karwosts karwosts commented Jul 12, 2024

Proposed change

Most of the config flow preview modules seem to be copy-pastes of the same code, as they do the same thing (pass the form data to the backend via a start_preview API call, get a fake entity in response).

Feels like maybe we don't really need to recreate the same logic for every integration that wants to create a preview. It adds a big hurdle for backend integration developers that might want to add previews to get a frontend merged as well.

The modules seem like they could be replaced with a generic module, and then with this backend developers can implement new config flow previews without needing any frontend support. For more complex previews (like template), creating custom modules is still possible.

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New feature (thank you!)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Example configuration

Additional information

  • This PR fixes or closes issue: fixes #
  • This PR is related to issue or discussion:
  • Link to documentation pull request:

Checklist

  • The code change is tested and works locally.
  • There is no commented out code in this PR.
  • Tests have been added to verify that the new code works.

If user exposed functionality or configuration variables are added/changed:

Summary by CodeRabbit

  • Refactor
    • Standardized preview function and class names to be more generic.
    • Introduced a new domain parameter to enhance flexibility in preview functionalities.
    • Updated import statements to align with the new generic naming conventions.

@coderabbitai ignore

This comment was marked as off-topic.

src/data/preview.ts Outdated Show resolved Hide resolved
@silamon silamon merged commit dbc2db2 into home-assistant:dev Jul 14, 2024
13 checks passed
@karwosts karwosts requested a review from bramkragten July 14, 2024 16:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants