Call services from frontend with fire-dom-event

This commit is contained in:
Thomas Lovén 2022-07-18 23:23:15 +00:00
parent 7c6e749c3f
commit 8fe408bcc6
5 changed files with 21 additions and 19 deletions

View File

@ -15,8 +15,8 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
class BrowserBinarySensor(BrowserModEntity, BinarySensorEntity): class BrowserBinarySensor(BrowserModEntity, BinarySensorEntity):
def __init__(self, coordinator, deviceID, parameter, name): def __init__(self, coordinator, browserID, parameter, name):
super().__init__(coordinator, deviceID, name) super().__init__(coordinator, browserID, name)
self.parameter = parameter self.parameter = parameter
@property @property

View File

@ -869,6 +869,11 @@ const ServicesMixin = (SuperClass) => {
}); });
}); });
} }
document.body.addEventListener("ll-custom", (ev) => {
if (ev.detail.browser_mod) {
this._service_action(ev.detail.browser_mod);
}
});
} }
async _service_action({ service, data }) { async _service_action({ service, data }) {
let _service = service; let _service = service;
@ -1051,7 +1056,7 @@ class BrowserModPopup extends s {
--mdc-dialog-content-ink-color: var(--primary-text-color); --mdc-dialog-content-ink-color: var(--primary-text-color);
--justify-action-buttons: space-between; --justify-action-buttons: space-between;
--mdc-dialog-box-shadow: 0px 0px 0px var(--ha-card-border-width, 1px) --mdc-dialog-box-shadow: 0px 0px 0px var(--ha-card-border-width, 2px)
var(--ha-card-border-color, var(--divider-color, #e0e0e0)); var(--ha-card-border-color, var(--divider-color, #e0e0e0));
--ha-dialog-border-radius: 8px; --ha-dialog-border-radius: 8px;
--mdc-theme-surface: var( --mdc-theme-surface: var(
@ -1268,7 +1273,7 @@ var pjson = {
- Commands - Commands
x Rename browser_mod commands to browser_mod services x Rename browser_mod commands to browser_mod services
x Framework x Framework
- ll-custom handling x ll-custom handling
- Commands - Commands
x popup x popup
x close_popup x close_popup
@ -1279,8 +1284,9 @@ var pjson = {
- screensaver - screensaver
x sequence x sequence
x delay x delay
- javascript eval
- toast? - toast?
- Redesign services to target devices x Redesign services to target devices
- frontend editor for popup cards - frontend editor for popup cards
- also screensavers - also screensavers
- Tweaks - Tweaks
@ -1299,11 +1305,6 @@ class BrowserMod extends ServicesMixin(PopupMixin(BrowserStateMixin(CameraMixin(
constructor() { constructor() {
super(); super();
this.connect(); this.connect();
// document.body.addEventListener("ll-custom", (ev) => {
// if ((ev as CustomEvent).detail.browser_mod) {
// this.msg_callback((ev as CustomEvent).detail.browser_mod);
// }
// });
console.info(`%cBROWSER_MOD ${pjson.version} IS INSTALLED console.info(`%cBROWSER_MOD ${pjson.version} IS INSTALLED
%cBrowserID: ${this.browserID}`, "color: green; font-weight: bold", ""); %cBrowserID: ${this.browserID}`, "color: green; font-weight: bold", "");
} }

View File

@ -29,7 +29,7 @@ import pjson from "../../package.json";
- Commands - Commands
x Rename browser_mod commands to browser_mod services x Rename browser_mod commands to browser_mod services
x Framework x Framework
- ll-custom handling x ll-custom handling
- Commands - Commands
x popup x popup
x close_popup x close_popup
@ -40,8 +40,9 @@ import pjson from "../../package.json";
- screensaver - screensaver
x sequence x sequence
x delay x delay
- javascript eval
- toast? - toast?
- Redesign services to target devices x Redesign services to target devices
- frontend editor for popup cards - frontend editor for popup cards
- also screensavers - also screensavers
- Tweaks - Tweaks
@ -73,12 +74,6 @@ export class BrowserMod extends ServicesMixin(
super(); super();
this.connect(); this.connect();
// document.body.addEventListener("ll-custom", (ev) => {
// if ((ev as CustomEvent).detail.browser_mod) {
// this.msg_callback((ev as CustomEvent).detail.browser_mod);
// }
// });
console.info( console.info(
`%cBROWSER_MOD ${pjson.version} IS INSTALLED `%cBROWSER_MOD ${pjson.version} IS INSTALLED
%cBrowserID: ${this.browserID}`, %cBrowserID: ${this.browserID}`,

View File

@ -161,7 +161,7 @@ class BrowserModPopup extends LitElement {
--mdc-dialog-content-ink-color: var(--primary-text-color); --mdc-dialog-content-ink-color: var(--primary-text-color);
--justify-action-buttons: space-between; --justify-action-buttons: space-between;
--mdc-dialog-box-shadow: 0px 0px 0px var(--ha-card-border-width, 1px) --mdc-dialog-box-shadow: 0px 0px 0px var(--ha-card-border-width, 2px)
var(--ha-card-border-color, var(--divider-color, #e0e0e0)); var(--ha-card-border-color, var(--divider-color, #e0e0e0));
--ha-dialog-border-radius: 8px; --ha-dialog-border-radius: 8px;
--mdc-theme-surface: var( --mdc-theme-surface: var(

View File

@ -52,6 +52,12 @@ export const ServicesMixin = (SuperClass) => {
}); });
}); });
} }
document.body.addEventListener("ll-custom", (ev: CustomEvent) => {
if (ev.detail.browser_mod) {
this._service_action(ev.detail.browser_mod);
}
});
} }
async _service_action({ service, data }) { async _service_action({ service, data }) {