Skip to content

Commit 4fc4a2e

Browse files
authored
Merge v2.3.7 from dcapslock/2.3.7
v2.3.7
2 parents a595b34 + 118e980 commit 4fc4a2e

File tree

8 files changed

+43
-33
lines changed

8 files changed

+43
-33
lines changed

custom_components/browser_mod/browser_mod.js

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

custom_components/browser_mod/browser_mod_panel.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -446,7 +446,7 @@ function e(e,t,i,o){var s,n=arguments.length,r=n<3?t:null===o?o=Object.getOwnPro
446446
display: flex;
447447
align-items: center;
448448
}
449-
`}}e([le()],_e.prototype,"hass",void 0),e([de()],_e.prototype,"_dashboards",void 0),e([de()],_e.prototype,"_editSidebar",void 0),customElements.define("browser-mod-frontend-settings-card",_e);var fe="2.3.6";(async()=>{var e,t,i,o,s,n,r,a,l,d,h,c,u,p,g;await customElements.whenDefined("partial-panel-resolver");const w=document.createElement("partial-panel-resolver")._getRoutes([{component_name:"config",url_path:"a"}]);await(null===(i=null===(t=null===(e=null==w?void 0:w.routes)||void 0===e?void 0:e.a)||void 0===t?void 0:t.load)||void 0===i?void 0:i.call(t)),await customElements.whenDefined("ha-panel-config");const v=document.createElement("ha-panel-config");await(null===(r=null===(n=null===(s=null===(o=null==v?void 0:v.routerOptions)||void 0===o?void 0:o.routes)||void 0===s?void 0:s.dashboard)||void 0===n?void 0:n.load)||void 0===r?void 0:r.call(n)),await(null===(h=null===(d=null===(l=null===(a=null==v?void 0:v.routerOptions)||void 0===a?void 0:a.routes)||void 0===l?void 0:l.general)||void 0===d?void 0:d.load)||void 0===h?void 0:h.call(d)),await(null===(g=null===(p=null===(u=null===(c=null==v?void 0:v.routerOptions)||void 0===c?void 0:c.routes)||void 0===u?void 0:u.entities)||void 0===p?void 0:p.load)||void 0===g?void 0:g.call(p)),await customElements.whenDefined("ha-config-dashboard")})().then((()=>{class t extends se{firstUpdated(){window.addEventListener("browser-mod-config-update",(()=>this.requestUpdate()))}render(){var e;return window.browser_mod?M`
449+
`}}e([le()],_e.prototype,"hass",void 0),e([de()],_e.prototype,"_dashboards",void 0),e([de()],_e.prototype,"_editSidebar",void 0),customElements.define("browser-mod-frontend-settings-card",_e);var fe="2.3.7";(async()=>{var e,t,i,o,s,n,r,a,l,d,h,c,u,p,g;await customElements.whenDefined("partial-panel-resolver");const w=document.createElement("partial-panel-resolver")._getRoutes([{component_name:"config",url_path:"a"}]);await(null===(i=null===(t=null===(e=null==w?void 0:w.routes)||void 0===e?void 0:e.a)||void 0===t?void 0:t.load)||void 0===i?void 0:i.call(t)),await customElements.whenDefined("ha-panel-config");const v=document.createElement("ha-panel-config");await(null===(r=null===(n=null===(s=null===(o=null==v?void 0:v.routerOptions)||void 0===o?void 0:o.routes)||void 0===s?void 0:s.dashboard)||void 0===n?void 0:n.load)||void 0===r?void 0:r.call(n)),await(null===(h=null===(d=null===(l=null===(a=null==v?void 0:v.routerOptions)||void 0===a?void 0:a.routes)||void 0===l?void 0:l.general)||void 0===d?void 0:d.load)||void 0===h?void 0:h.call(d)),await(null===(g=null===(p=null===(u=null===(c=null==v?void 0:v.routerOptions)||void 0===c?void 0:c.routes)||void 0===u?void 0:u.entities)||void 0===p?void 0:p.load)||void 0===g?void 0:g.call(p)),await customElements.whenDefined("ha-config-dashboard")})().then((()=>{class t extends se{firstUpdated(){window.addEventListener("browser-mod-config-update",(()=>this.requestUpdate()))}render(){var e;return window.browser_mod?M`
450450
<ha-top-app-bar-fixed>
451451
<ha-menu-button
452452
slot="navigationIcon"

custom_components/browser_mod/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@
1313
"documentation": "https://github.com/dcapslock/hass-browser_mod/blob/master/README.md",
1414
"iot_class": "local_push",
1515
"requirements": [],
16-
"version": "2.3.6"
16+
"version": "2.3.7"
1717
}

custom_components/browser_mod/services.yaml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -273,14 +273,14 @@ navigate:
273273
multiple: true
274274
filter:
275275
integration: "browser_mod"
276-
user_id:
277-
name: Target User
278-
description: ""
279-
selector:
280-
entity:
281-
multiple: true
282-
filter:
283-
domain: "person"
276+
user_id:
277+
name: Target User
278+
description: ""
279+
selector:
280+
entity:
281+
multiple: true
282+
filter:
283+
domain: "person"
284284
path:
285285
name: Path
286286
description: "Target path"

js/plugin/popups.ts

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
} from "../helpers";
1212
import { loadHaForm } from "../helpers";
1313

14-
const CLOSE_POPUP_ACTIONS = new Set(["assist", "more-info"]);
14+
const CLOSE_POPUP_ACTIONS = new Set(["assist"]);
1515

1616
class BrowserModPopup extends LitElement {
1717
@property() open;
@@ -98,7 +98,10 @@ class BrowserModPopup extends LitElement {
9898
(customElements.get("card-mod") as any)?.applyToElement?.(
9999
this,
100100
"more-info",
101-
this.card_mod?.style ?? ""
101+
this.card_mod?.style ? { style: this.card_mod.style, debug: this.card_mod?.debug ?? false } : "",
102+
{},
103+
true,
104+
"browser_mod-card_mod"
102105
);
103106
});
104107

@@ -504,17 +507,22 @@ export const PopupMixin = (SuperClass) => {
504507
});
505508

506509
this._popupEl.addEventListener("hass-action", async (ev: CustomEvent) => {
507-
if (
508-
(ev.detail.action === "tap" &&
509-
CLOSE_POPUP_ACTIONS.has(ev.detail.config?.tap_action?.action)) ||
510-
(ev.detail.action === "hold" &&
511-
CLOSE_POPUP_ACTIONS.has(ev.detail.config?.hold_action?.action)) ||
512-
(ev.detail.action === "double_tap" &&
513-
CLOSE_POPUP_ACTIONS.has(
514-
ev.detail.config?.double_tap_action?.action
515-
))
516-
) {
517-
this._popupEl.do_close();
510+
const actionType = ev.detail.action;
511+
if (actionType) {
512+
const actionConfig = ev.detail?.config?.[`${actionType}_action`];
513+
if (actionConfig) {
514+
if (actionConfig.action === "more-info") {
515+
ev.stopPropagation();
516+
this.showMoreInfo(
517+
actionConfig.entity ? actionConfig.entity : ev.detail.config.entity,
518+
actionConfig.large ?? false,
519+
actionConfig.ignore_popup_card ?? false,
520+
);
521+
return;
522+
} else if (CLOSE_POPUP_ACTIONS.has(actionConfig.action)){
523+
this._popupEl.do_close();
524+
}
525+
}
518526
}
519527
ev.stopPropagation();
520528
const base = await hass_base_el();

js/plugin/services.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,13 @@ export const ServicesMixin = (SuperClass) => {
7777
const { title, content, ...d } = data;
7878
for (var [k, v] of Object.entries<any>(d)) {
7979
if (k.endsWith("_action")) {
80+
let actions = v; // Force Closure. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Closures#creating_closures_in_loops_a_common_mistake
81+
let key = k; // If required use key in anonymous function to avoid closure issue as per above comment
8082
d[k] = (ext_data?) => {
81-
if (!Array.isArray(v)) {
82-
v = [v];
83+
if (!Array.isArray(actions)) {
84+
actions = [actions];
8385
}
84-
v.forEach((actionItem) => {
86+
actions.forEach((actionItem) => {
8587
var { action, service, target, data } = actionItem as any;
8688
service = action ?? service;
8789
this._service_action({

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "browser_mod",
33
"private": true,
4-
"version": "2.3.6",
4+
"version": "2.3.7",
55
"description": "",
66
"scripts": {
77
"build": "rollup -c",

0 commit comments

Comments
 (0)