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

Add Attribute Picker as a selector - add to state trigger #11641

Merged
merged 6 commits into from Feb 10, 2022

Conversation

zsarnett
Copy link
Contributor

Breaking change

Proposed change

image

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:

@balloob balloob added the needs design preview PRs with this label will trigger a GitHub action to generate a gallery preview label Feb 10, 2022
@@ -81,6 +81,7 @@ export class HaForm extends LitElement implements HaFormElement {
: ""}
${"selector" in item
? html`<ha-selector
.schema=${item}
Copy link
Member

Choose a reason for hiding this comment

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

Why is this necessary? The selector value is the schema in this case.

Copy link
Member

Choose a reason for hiding this comment

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

Adding features outside of the selector definition will break compatibility when selectors are used in services.yaml or blueprints.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is needed for the value changed event
I removed it and now all selectors are broken

Copy link
Member

Choose a reason for hiding this comment

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

All selectors work here https://design.home-assistant.io/#components/ha-form

Why does it fix it?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

When the value is changed and sent to the ha-form. Ha-form uses schema to find the name of the value

Copy link
Contributor Author

Choose a reason for hiding this comment

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

root.addEventListener("value-changed", (ev) => {
      ev.stopPropagation();
      const schema = (ev.target as HaFormElement).schema as HaFormSchema;
      fireEvent(this, "value-changed", {
        value: { ...this.data, [schema.name]: ev.detail.value },
      });
    });

Copy link
Member

Choose a reason for hiding this comment

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

Then how does the selectors card on https://design.home-assistant.io/#components/ha-form work?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Is it the latest dev?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I broke it today

@zsarnett zsarnett mentioned this pull request Feb 10, 2022
9 tasks
@balloob balloob merged commit fca7d2c into dev Feb 10, 2022
@balloob balloob deleted the add-attribute-to-ha-form branch February 10, 2022 19:56
@@ -81,12 +92,13 @@ export class HaStateTrigger extends LitElement implements TriggerElement {
const trgFor = createDurationData(this.trigger.for);

const data = { ...this.trigger, ...{ for: trgFor } };
Copy link
Member

Choose a reason for hiding this comment

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

{ ...this.trigger, for: trgFor }

@github-actions github-actions bot locked and limited conversation to collaborators Feb 11, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
cla-signed needs design preview PRs with this label will trigger a GitHub action to generate a gallery preview
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants