iobroker.satellite-display 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -3
- package/admin/custom/assets/Components-dEIM9Tps.js +1 -0
- package/admin/custom/customComponents.js +1 -1
- package/admin/custom/i18n/de.json +3 -1
- package/admin/custom/i18n/en.json +3 -1
- package/admin/custom/i18n/es.json +3 -1
- package/admin/custom/i18n/fr.json +3 -1
- package/admin/custom/i18n/it.json +3 -1
- package/admin/custom/i18n/nl.json +3 -1
- package/admin/custom/i18n/pl.json +3 -1
- package/admin/custom/i18n/pt.json +3 -1
- package/admin/custom/i18n/ru.json +3 -1
- package/admin/custom/i18n/uk.json +3 -1
- package/admin/custom/i18n/zh-cn.json +3 -1
- package/admin/jsonConfig.json +1 -1
- package/io-package.json +25 -12
- package/lib/layout.js +2 -2
- package/package.json +2 -2
- package/admin/custom/assets/Components-Dd31YUW5.js +0 -1
package/README.md
CHANGED
|
@@ -41,8 +41,8 @@ to 8 tiles. Swipe left from the clock to reach them; a page without tiles is ski
|
|
|
41
41
|
| --- | --- | --- | --- |
|
|
42
42
|
| Value | name, number with unit, or a text | all | – |
|
|
43
43
|
| Gauge | name, arc from the scale start to its end, number | square, large | – |
|
|
44
|
-
| Value with bar | name, number, bar along the scale |
|
|
45
|
-
| Value with chart | name, number, line of the last 60 values | wide, large | – |
|
|
44
|
+
| Value with bar | name, number, bar along the scale | all | – |
|
|
45
|
+
| Value with chart | name, number, line of the last 60 values | small, wide, large | – |
|
|
46
46
|
| Switch | name, toggle; the tile lights up when on | small, square, wide | toggles the state |
|
|
47
47
|
| Dimmer | name, toggle, slider, percent | wide, large | toggle and slider write the states |
|
|
48
48
|
| Button | icon, name | small, square, wide | writes `true` to the state |
|
|
@@ -55,7 +55,8 @@ to 8 tiles. Swipe left from the clock to reach them; a page without tiles is ski
|
|
|
55
55
|
2. **Tiles:** a graphical editor. Choose the satellite and the page; the preview shows the screen with the current
|
|
56
56
|
values. Click a free cell to add a tile, drag a tile to move it, click a tile to edit it on the right: kind,
|
|
57
57
|
size, the state (with the object browser of the admin), name, unit, icon and scale. Name, unit and scale may stay
|
|
58
|
-
empty: they come from the object of the state. A tile
|
|
58
|
+
empty: they come from the object of the state. A tile the adapter would leave out is marked red, with the reason
|
|
59
|
+
(a size its kind does not come in, a thermostat without its target, more than eight tiles on a page).
|
|
59
60
|
3. **Charts (optional):** a history adapter (history, sql, influxdb). A chart then starts with the last hours of its
|
|
60
61
|
state instead of empty.
|
|
61
62
|
|
|
@@ -91,6 +92,8 @@ again by itself.
|
|
|
91
92
|
|
|
92
93
|
## Notes
|
|
93
94
|
|
|
95
|
+
- The small bar and chart tiles (1 × 1) need the satellite firmware **2.0.2**; an older one leaves them empty and
|
|
96
|
+
writes a warning into its own log.
|
|
94
97
|
- The satellite firmware must be **2.0.0** or newer; an older firmware is reported in the log ("tile pages need the
|
|
95
98
|
satellite firmware 2.0.0").
|
|
96
99
|
- The format between adapter and firmware is described in
|
|
@@ -99,11 +102,19 @@ again by itself.
|
|
|
99
102
|
|
|
100
103
|
## Changelog
|
|
101
104
|
|
|
105
|
+
Older changes: [CHANGELOG_OLD.md](CHANGELOG_OLD.md)
|
|
106
|
+
|
|
102
107
|
<!--
|
|
103
108
|
Placeholder for the next version (at the beginning of the line):
|
|
104
109
|
### **WORK IN PROGRESS**
|
|
105
110
|
-->
|
|
106
111
|
|
|
112
|
+
### 0.0.3 (2026-11-09)
|
|
113
|
+
|
|
114
|
+
- Small bar and chart tiles (1 × 1): the name and the value on one line, the bar or the line below (satellite
|
|
115
|
+
firmware 2.0.2)
|
|
116
|
+
- The tile editor marks a tile the adapter would leave out, with the reason
|
|
117
|
+
|
|
107
118
|
### 0.0.2 (2026-11-09)
|
|
108
119
|
|
|
109
120
|
- Thermostat tile: current temperature in an arc, the target temperature with − and +, a dot for the heating
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./_virtual_mf___mfe_internal__SatDisplay__mf_owner__180606781360439__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-BtcMQbqk.js";import{$r as e,Dn as t,K as n,Mt as r,Qr as i,Qt as a,Sn as o,Yt as s,Zr as c,Zt as l,_ as u,cn as d,en as f,m as p,on as m,pt as h,rn as g,tn as _,zn as v}from"./_virtual_mf___mfe_internal__SatDisplay__mf_owner__180606781360439__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-B7AZpjV-.js";import{t as y}from"./_virtual_mf___mfe_internal__SatDisplay__mf_owner__180606781360439__loadShare__shared-B2hx53j0.js";var b={s:[1,1],q:[1,2],w:[2,1],l:[2,2]},x={value:[`s`,`q`,`w`,`l`],gauge:[`q`,`l`],bar:[`s`,`q`,`w`,`l`],chart:[`s`,`w`,`l`],switch:[`s`,`q`,`w`],dimmer:[`w`,`l`],button:[`s`,`q`,`w`],thermostat:[`q`,`l`]},S=`lightbulb.lamp.ceiling-light.power-plug.power.fan.radiator.thermometer.water-percent.flash.solar-power.battery.window-closed.window-open.door.garage.blinds.lock.lock-open.bell.television.movie.music.speaker.coffee.washing-machine.dishwasher.car.home.bed.sofa.shower.weather-sunny.weather-night.alarm.play.pause.stop.check.close`.split(`.`);function C(e){return!x[e.type]||!x[e.type].includes(e.size)?`sd_bad_size`:e.type===`thermostat`&&!String(e.state2||``).trim()?`sd_need_target`:``}function w(e,t){let n=e=>String(e||``).trim().toLowerCase().replace(/[^a-z0-9_-]+/g,`_`).replace(/^_+|_+$/g,``)||`satellite`;return n(e)===n(t)}function T(e,t,n){let[r,i]=b[e];return t>=0&&n>=0&&t+r<=2&&n+i<=4}function E(e,t){let[n,r]=b[e.size],[i,a]=b[t.size];return e.col<t.col+i&&t.col<e.col+n&&e.row<t.row+a&&t.row<e.row+r}function D(e,t,n,r,i,a,o=-1){return T(r,i,a)?!e.some((e,s)=>s!==o&&e.enabled!==!1&&w(e.satellite,t)&&Number(e.page)===n&&b[e.size]&&E(e,{size:r,col:i,row:a})):!1}function O(e,t,n,r,i=-1){for(let a=0;a<4;a++)for(let o=0;o<2;o++)if(D(e,t,n,r,o,a,i))return{col:o,row:a};return null}function k(e,t,n,r,i){return e.findIndex(e=>e.enabled!==!1&&w(e.satellite,t)&&Number(e.page)===n&&b[e.size]&&E(e,{size:`s`,col:r,row:i}))}function A(e,t,n){return e.map((e,t)=>({t:e,i:t})).filter(e=>e.t.enabled!==!1&&w(e.t.satellite,t)&&Number(e.t.page)===n).slice(8).map(e=>e.i)}function j(e,t,n,r){return{enabled:!0,satellite:e,page:t,col:n,row:r,size:`s`,type:`value`,state:``,state2:``,state3:``,label:``,unit:``,icon:``,decimals:``,min:``,max:``,step:``}}var M=1.5,N=e=>Math.round(e*M),P=e=>6+e*157,F=e=>6+Math.floor(e*117/2),I={value:`sd_kind_value`,gauge:`sd_kind_gauge`,bar:`sd_kind_bar`,chart:`sd_kind_chart`,switch:`sd_kind_switch`,dimmer:`sd_kind_dimmer`,button:`sd_kind_button`,thermostat:`sd_kind_thermostat`},L={s:`1 × 1`,q:`1 × 2`,w:`2 × 1`,l:`2 × 2`},R={screen:`#0B1118`,tile:`#18212B`,tileOn:`#0C4A6E`,label:`#8A9AAC`,accent:`#38BDF8`,track:`#2E3A47`,heatOn:`#4CAF50`,heatOff:`#4B5563`},z={TileEditor:class extends y{constructor(e){super(e),this.state={...this.state,satellite:``,page:1,selected:-1,pickFor:null,dragging:-1,values:{},names:{}}}async componentDidMount(){await super.componentDidMount();let e=this.satelliteNames();e.length&&this.setState({satellite:e[0]},()=>void this.readStates())}tiles(){let e=y.getValue(this.props.data,`tiles`);return Array.isArray(e)?e:[]}satelliteNames(){let e=y.getValue(this.props.data,`satellites`),t=(Array.isArray(e)?e:[]).map(e=>String((e==null?void 0:e.name)||``).trim()).filter(Boolean);for(let e of this.tiles()){let n=String(e.satellite||``).trim();n&&!t.some(e=>w(e,n))&&t.push(n)}return t}isConfigured(e){let t=y.getValue(this.props.data,`satellites`);return(Array.isArray(t)?t:[]).some(t=>w((t==null?void 0:t.name)||``,e))}setTiles(e,t=this.state.selected){this.setState({selected:t},()=>void this.onChange(`tiles`,e,()=>void this.readStates()))}update(e,t){let n=this.tiles().map((n,r)=>r===e?{...n,...t}:n);this.setTiles(n)}async readStates(){let e=this.props.oContext.socket,t=new Set;for(let e of this.pageTiles())for(let n of[e.tile.state,e.tile.state2,e.tile.state3])n&&!(n in this.state.values)&&t.add(n);if(!t.size)return;let n={},r={},i=u.getLanguage();for(let o of t)try{var a;let t=await e.getState(o);n[o]=t==null?void 0:t.val;let s=await e.getObject(o),c=s==null||(a=s.common)==null?void 0:a.name;r[o]=typeof c==`object`&&c?c[i]||c.en||``:String(c||``)}catch{n[o]=void 0}this.setState(e=>({values:{...e.values,...n},names:{...e.names,...r}}))}pageTiles(){return this.tiles().map((e,t)=>({tile:e,index:t})).filter(e=>e.tile.enabled!==!1&&w(e.tile.satellite,this.state.satellite)&&Number(e.tile.page)===this.state.page&&!!b[e.tile.size])}addAt(e,t){let n=[...this.tiles(),j(this.state.satellite,this.state.page,e,t)];this.setTiles(n,n.length-1)}moveTo(e,t,n){let r=this.tiles()[e];r&&D(this.tiles(),this.state.satellite,this.state.page,r.size,t,n,e)&&this.update(e,{col:t,row:n})}remove(e){this.setTiles(this.tiles().filter((t,n)=>n!==e),-1)}changeKind(e,t){let n=this.tiles()[e],{size:r,col:i,row:a}=n;if(!x[t].includes(r)){let o=x[t].find(t=>D(this.tiles(),n.satellite,Number(n.page),t,i,a,e));if(o)r=o;else for(let o of x[t]){let t=O(this.tiles(),n.satellite,Number(n.page),o,e);if(t){r=o,{col:i,row:a}=t;break}}}this.update(e,{type:t,size:r,col:i,row:a,state2:t===`dimmer`||t===`thermostat`?n.state2:``,state3:t===`thermostat`&&n.state3||``})}changePage(e,t){let n=this.tiles()[e],r=O(this.tiles(),n.satellite,t,n.size,e);r&&(this.update(e,{page:t,...r}),this.setState({page:t}))}renderTileFace(t,n,r){let a=this.state.values[t.state],o=t.label||this.state.names[t.state]||t.state.split(`.`).pop()||u.t(`sd_no_state`),s=typeof a==`number`?a:NaN,l=t.unit&&t.type!==`dimmer`?` ${t.unit}`:``,d=a==null?`–`:typeof a==`number`?`${Number(a.toFixed(t.decimals===``||t.decimals===null?1:Number(t.decimals)))}${l}`:`${String(a)}${typeof a==`boolean`?``:l}`,f=t.type===`dimmer`&&t.state2?!!this.state.values[t.state2]:a===!0||typeof a==`number`&&a>0,p=t.min===``||t.min===null?0:Number(t.min),m=t.max===``||t.max===null?100:Number(t.max),h=Number.isFinite(s)&&m>p?Math.max(0,Math.min(1,(s-p)/(m-p))):.5,g=i(`div`,{style:{color:R.label,fontSize:N(10),whiteSpace:`nowrap`,overflow:`hidden`,textOverflow:`ellipsis`},children:o}),_=r>N(60),v=i(`div`,{style:{fontSize:N(_?22:14)},children:d}),y=i(`div`,{style:{width:N(26),height:N(14),borderRadius:N(7),background:f?R.accent:R.track,position:`relative`,flex:`none`},children:i(`div`,{style:{position:`absolute`,top:N(2),left:N(f?14:2),width:N(10),height:N(10),borderRadius:`50%`,background:`#fff`}})}),b=(t,n)=>{let r=t/2-N(4),a=Math.PI*2*r*.75;return e(`svg`,{width:t,height:t,style:n,children:[i(`circle`,{cx:t/2,cy:t/2,r,fill:`none`,stroke:R.track,strokeWidth:N(5),strokeDasharray:`${a} ${a*2}`,transform:`rotate(135 ${t/2} ${t/2})`,strokeLinecap:`round`}),i(`circle`,{cx:t/2,cy:t/2,r,fill:`none`,stroke:R.accent,strokeWidth:N(5),strokeDasharray:`${a*h} ${a*3}`,transform:`rotate(135 ${t/2} ${t/2})`,strokeLinecap:`round`}),i(`text`,{x:t/2,y:t/2+N(4),textAnchor:`middle`,fill:`#fff`,fontSize:N(11),children:d})]})};switch(t.type){case`thermostat`:{let n=this.state.values[t.state2],r=Number(t.step)>0?Number(t.step):.5,a=typeof n==`number`?`${n.toFixed(+(r<1))}${t.unit?` ${t.unit}`:``}`:`–`,o=t.state3?this.state.values[t.state3]:void 0,s=t.state3&&o!=null?i(`div`,{style:{position:`absolute`,right:N(6),top:N(5),width:N(10),height:N(10),borderRadius:`50%`,background:o===!0||Number(o)>0?R.heatOn:R.heatOff}}):null,l=e(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,color:R.label,flex:1},children:[i(`span`,{style:{fontSize:N(18),fontWeight:700},children:`−`}),i(`span`,{style:{fontSize:t.size===`l`?N(22):N(11),color:t.size===`l`?`#fff`:R.label},children:a}),i(`span`,{style:{fontSize:N(18),fontWeight:700},children:`+`})]});return t.size===`l`?e(c,{children:[s,g,e(`div`,{style:{display:`flex`,alignItems:`center`,gap:N(12)},children:[b(N(52),{display:`block`,flex:`none`}),l]})]}):e(c,{children:[s,g,b(N(46),{display:`block`,margin:`0 auto`}),i(`div`,{style:{display:`flex`,marginTop:-N(4)},children:l})]})}case`gauge`:{let t=N(56),n=t/2-N(4),r=Math.PI*2*n*.75;return e(c,{children:[g,e(`svg`,{width:t,height:t,style:{display:`block`,margin:`${N(2)}px auto 0`},children:[i(`circle`,{cx:t/2,cy:t/2,r:n,fill:`none`,stroke:R.track,strokeWidth:N(5),strokeDasharray:`${r} ${r*2}`,transform:`rotate(135 ${t/2} ${t/2})`,strokeLinecap:`round`}),i(`circle`,{cx:t/2,cy:t/2,r:n,fill:`none`,stroke:R.accent,strokeWidth:N(5),strokeDasharray:`${r*h} ${r*3}`,transform:`rotate(135 ${t/2} ${t/2})`,strokeLinecap:`round`}),i(`text`,{x:t/2,y:t/2+N(4),textAnchor:`middle`,fill:`#fff`,fontSize:N(11),children:d})]})]})}case`bar`:case`chart`:return t.size===`s`?e(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100%`},children:[e(`div`,{style:{display:`flex`,alignItems:`center`,gap:N(4)},children:[i(`div`,{style:{flex:1,minWidth:0},children:g}),i(`div`,{style:{fontSize:N(14)},children:d})]}),t.type===`bar`?i(`div`,{style:{height:N(4),background:R.track,borderRadius:N(2),marginTop:`auto`,marginBottom:N(4)},children:i(`div`,{style:{width:`${h*100}%`,height:`100%`,background:R.accent,borderRadius:N(2)}})}):i(`svg`,{width:n-N(16),height:N(14),style:{display:`block`,marginTop:`auto`,marginBottom:N(2)},children:i(`polyline`,{fill:`none`,stroke:R.accent,strokeWidth:2,points:[0,.6,.4,.7,.3,.5,.2,.45,.35].map((e,t)=>`${t*(n-N(16))/8},${e*N(14)}`).join(` `)})})]}):t.type===`chart`?e(c,{children:[g,v,i(`svg`,{width:n-N(16),height:N(18),style:{display:`block`},children:i(`polyline`,{fill:`none`,stroke:R.accent,strokeWidth:2,points:[0,.6,.4,.7,.3,.5,.2,.45,.35].map((e,t)=>`${t*(n-N(16))/8},${e*N(18)}`).join(` `)})})]}):e(c,{children:[g,v,i(`div`,{style:{height:N(5),background:R.track,borderRadius:N(3),marginTop:N(_?14:2)},children:i(`div`,{style:{width:`${h*100}%`,height:`100%`,background:R.accent,borderRadius:N(3)}})})]});case`switch`:return e(`div`,{style:{display:`flex`,alignItems:_?`flex-start`:`center`,gap:N(6),height:`100%`,flexDirection:_?`column`:`row`,justifyContent:`space-between`},children:[i(`div`,{style:{flex:1,minWidth:0},children:g}),i(`div`,{style:{alignSelf:`flex-end`},children:y})]});case`dimmer`:return e(`div`,{style:{display:`flex`,alignItems:`center`,gap:N(6),height:`100%`},children:[i(`div`,{style:{width:N(40),minWidth:0},children:g}),y,i(`div`,{style:{flex:1,height:N(5),background:R.track,borderRadius:N(3)},children:i(`div`,{style:{width:`${Number.isFinite(s)?Math.max(0,Math.min(100,s)):50}%`,height:`100%`,background:R.accent,borderRadius:N(3)}})}),i(`div`,{style:{fontSize:N(11),width:N(30),textAlign:`right`},children:Number.isFinite(s)?`${Math.round(s)} %`:`–`})]});case`button`:return e(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`center`,height:`100%`,gap:N(6),flexDirection:_?`column`:`row`},children:[t.icon?e(`span`,{style:{color:R.accent,fontSize:N(9)},children:[`◉ `,t.icon]}):null,i(`span`,{style:{fontSize:N(11)},children:o})]});default:return r<=N(53)&&n<=N(151)?e(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,height:`100%`},children:[i(`div`,{style:{minWidth:0,flex:1},children:g}),i(`div`,{style:{fontSize:N(13)},children:d})]}):e(c,{children:[g,v]})}}renderScreen(){let t=this.tiles(),n=new Set(A(t,this.state.satellite,this.state.page)),a=[];for(let e=0;e<4;e++)for(let n=0;n<2;n++)k(t,this.state.satellite,this.state.page,n,e)===-1&&a.push(i(f,{title:u.t(`sd_add_here`),children:i(`div`,{onClick:()=>this.addAt(n,e),onDragOver:e=>e.preventDefault(),onDrop:t=>{t.preventDefault(),this.moveTo(this.state.dragging,n,e)},style:{position:`absolute`,left:N(P(n)),top:N(F(e)),width:N(151),height:N(F(e+1)-6-F(e)),border:`1px dashed #3a4654`,borderRadius:N(8),display:`flex`,alignItems:`center`,justifyContent:`center`,color:`#56657a`,cursor:`pointer`,boxSizing:`border-box`},children:i(r,{})})},`c${n}${e}`));return e(`div`,{style:{position:`relative`,width:N(320),height:N(240),background:R.screen,borderRadius:10,outline:`8px solid #2a2a2a`,margin:8,flex:`none`,fontFamily:`Roboto, sans-serif`},children:[a,this.pageTiles().map(({tile:e,index:t})=>{let[r,a]=b[e.size],o=N(r===2?308:151),s=N(F(e.row+a)-6-F(e.row)),c=t===this.state.selected,l=n.has(t)?`sd_too_many`:C(e),d=e.type===`switch`&&(this.state.values[e.state]===!0||Number(this.state.values[e.state])>0);return i(`div`,{draggable:!0,onDragStart:()=>this.setState({dragging:t,selected:t}),onDragEnd:()=>this.setState({dragging:-1}),onDragOver:e=>e.preventDefault(),onDrop:e=>{var t;e.preventDefault();let n=(t=e.currentTarget.parentElement)==null?void 0:t.getBoundingClientRect();if(n){let t=Math.min(1,Math.max(0,Math.floor((e.clientX-n.left)/N(157)))),r=Math.min(3,Math.max(0,Math.floor((e.clientY-n.top)/N(58.5))));this.moveTo(this.state.dragging,t,r)}},onClick:()=>this.setState({selected:t}),title:l?u.t(l):``,style:{position:`absolute`,left:N(P(e.col)),top:N(F(e.row)),width:o,height:s,boxSizing:`border-box`,padding:`${N(4)}px ${N(7)}px`,display:e.type===`thermostat`?`flex`:void 0,flexDirection:e.type===`thermostat`?`column`:void 0,background:d?R.tileOn:R.tile,borderRadius:N(8),color:`#fff`,cursor:`grab`,overflow:`hidden`,border:`2px solid ${c?R.accent:l?`#EF4444`:`transparent`}`,opacity:l?.5:1,userSelect:`none`},children:this.renderTileFace(e,o,s)},t)})]})}renderStateField(n,r,a,o){return e(g,{sx:{display:`flex`,gap:1,alignItems:`center`},children:[i(s,{variant:`standard`,fullWidth:!0,label:u.t(o),value:r[a]||``,onChange:e=>this.update(n,{[a]:e.target.value})}),i(t,{size:`small`,title:u.t(`sd_pick_state`),onClick:()=>this.setState({pickFor:a}),children:i(h,{})})]})}renderPanel(){let t=this.state.selected,r=this.tiles()[t];if(!r||!w(r.satellite,this.state.satellite))return i(_,{variant:`body2`,sx:{opacity:.7,p:1},children:u.t(`sd_hint`)});let f=this.tiles(),p=e=>e===``?``:Number(e),h=r.type===`gauge`||r.type===`bar`||r.type===`chart`||r.type===`thermostat`,y=r.type===`dimmer`?`sd_level_state`:r.type===`thermostat`?`sd_current_state`:`sd_state`;return e(g,{sx:{display:`flex`,flexDirection:`column`,gap:1.5,minWidth:260,maxWidth:360,flex:1},children:[C(r)?i(_,{variant:`body2`,color:`error`,children:u.t(C(r))}):null,i(o,{control:i(d,{checked:r.enabled!==!1,onChange:e=>this.update(t,{enabled:e.target.checked})}),label:u.t(`sd_active`)}),i(s,{select:!0,variant:`standard`,label:u.t(`sd_kind`),value:r.type,onChange:e=>this.changeKind(t,e.target.value),children:Object.keys(x).map(e=>i(v,{value:e,children:u.t(I[e])},e))}),e(g,{children:[i(_,{variant:`caption`,sx:{opacity:.7},children:u.t(`sd_size`)}),i(a,{exclusive:!0,size:`small`,value:r.size,sx:{display:`flex`},onChange:(e,n)=>n&&this.update(t,{size:n}),children:x[r.type].map(e=>i(l,{value:e,sx:{flex:1},disabled:e!==r.size&&!D(f,r.satellite,Number(r.page),e,r.col,r.row,t),children:L[e]},e))})]}),this.renderStateField(t,r,`state`,y),r.type===`dimmer`?this.renderStateField(t,r,`state2`,`sd_onoff_state`):null,r.type===`thermostat`?this.renderStateField(t,r,`state2`,`sd_target_state`):null,r.type===`thermostat`?this.renderStateField(t,r,`state3`,`sd_relay_state`):null,e(g,{sx:{display:`flex`,gap:1},children:[i(s,{variant:`standard`,sx:{flex:2},label:u.t(`sd_label`),placeholder:this.state.names[r.state]||``,value:r.label||``,slotProps:{htmlInput:{maxLength:24}},onChange:e=>this.update(t,{label:e.target.value})}),r.type!==`dimmer`&&r.type!==`button`&&r.type!==`switch`?i(s,{variant:`standard`,sx:{flex:1},label:u.t(`sd_unit`),value:r.unit||``,slotProps:{htmlInput:{maxLength:8}},onChange:e=>this.update(t,{unit:e.target.value})}):null]}),r.type===`button`||r.type===`switch`&&r.size===`q`?e(s,{select:!0,variant:`standard`,label:u.t(`sd_icon`),value:r.icon||``,onChange:e=>this.update(t,{icon:e.target.value}),children:[i(v,{value:``,children:`–`}),S.map(e=>i(v,{value:e,children:e},e))]}):null,r.type===`value`||h?e(g,{sx:{display:`flex`,gap:1},children:[i(s,{variant:`standard`,type:`number`,sx:{flex:1},label:u.t(`sd_decimals`),value:r.decimals??``,slotProps:{htmlInput:{min:0,max:3}},onChange:e=>this.update(t,{decimals:p(e.target.value)})}),h?e(c,{children:[i(s,{variant:`standard`,type:`number`,sx:{flex:1},label:u.t(`sd_min`),value:r.min??``,onChange:e=>this.update(t,{min:p(e.target.value)})}),i(s,{variant:`standard`,type:`number`,sx:{flex:1},label:u.t(`sd_max`),value:r.max??``,onChange:e=>this.update(t,{max:p(e.target.value)})})]}):null]}):null,r.type===`thermostat`?i(s,{variant:`standard`,type:`number`,label:u.t(`sd_step`),placeholder:`0.5`,value:r.step??``,slotProps:{htmlInput:{min:.1,step:.1}},onChange:e=>this.update(t,{step:p(e.target.value)})}):null,i(s,{select:!0,variant:`standard`,label:u.t(`sd_page`),value:Number(r.page),onChange:e=>this.changePage(t,Number(e.target.value)),children:[1,2,3,4].map(e=>i(v,{value:e,disabled:e!==Number(r.page)&&!O(f,r.satellite,e,r.size,t),children:e},e))}),i(m,{color:`error`,variant:`outlined`,startIcon:i(n,{}),onClick:()=>this.remove(t),children:u.t(`sd_delete`)})]})}renderPicker(){let e=this.state.selected,t=this.state.pickFor,n=this.tiles()[e];return!t||!n?null:i(p,{dialogName:`satelliteDisplayTile`,socket:this.props.oContext.socket,theme:this.props.oContext.theme,themeType:this.props.oContext.themeType,imagePrefix:`../..`,selected:n[t]||``,onClose:()=>this.setState({pickFor:null}),onOk:n=>{let r=Array.isArray(n)?n[0]:n;this.setState({pickFor:null}),r&&this.update(e,{[t]:r})}})}renderItem(){let t=this.satelliteNames();if(!t.length)return i(_,{sx:{p:2},children:u.t(`sd_no_satellites`)});let n=t.find(e=>w(e,this.state.satellite))||t[0],r=[1,2,3,4].map(e=>this.tiles().filter(t=>t.enabled!==!1&&w(t.satellite,n)&&Number(t.page)===e).length),o=this.tiles().filter(e=>e.enabled===!1&&w(e.satellite,n)&&Number(e.page)===this.state.page).length;return e(g,{sx:{width:`100%`},children:[e(g,{sx:{display:`flex`,gap:2,alignItems:`center`,flexWrap:`wrap`,mb:2},children:[i(s,{select:!0,variant:`standard`,label:u.t(`sd_satellite`),value:n,sx:{minWidth:180},onChange:e=>this.setState({satellite:e.target.value,selected:-1},()=>void this.readStates()),children:t.map(e=>i(v,{value:e,children:this.isConfigured(e)?e:`${e} (${u.t(`sd_not_configured`)})`},e))}),i(a,{exclusive:!0,size:`small`,value:this.state.page,onChange:(e,t)=>t&&this.setState({page:t,selected:-1},()=>void this.readStates()),children:Array.from({length:4},(e,t)=>t+1).map(t=>e(l,{value:t,children:[u.t(`sd_page`),` `,t,r[t-1]?` (${r[t-1]})`:``]},t))})]}),e(g,{sx:{display:`flex`,gap:3,alignItems:`flex-start`,flexWrap:`wrap`},children:[e(g,{children:[this.renderScreen(),e(_,{variant:`caption`,component:`div`,sx:{opacity:.7,mt:2,maxWidth:N(320)},children:[u.t(`sd_how`),o?` ${u.t(`sd_disabled_count`,o)}`:``]})]}),this.renderPanel()]}),this.renderPicker()]})}}};export{z as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"./assets/dist-ClWhWsnT.js";import{t}from"./assets/helpers-DYkm0lQU.js";import{t as n}from"./assets/vite-preload-helper-D97eqSzU.js";var r={},i=new Set,a=new Map;function o(e,t){let n=a.get(e);return n||(n=Promise.resolve().then(t).catch(t=>{throw a.delete(e),t}),a.set(e,n)),n}async function s(e){if(typeof document>`u`)return;let t=r[e]||[];await Promise.all(t.map(e=>{let t=new URL(e,import.meta.url).href;return i.has(t)||(i.add(t),document.querySelector(`link[rel="stylesheet"][href="${t}"]`))?Promise.resolve():new Promise((e,n)=>{let r=document.createElement(`link`);r.rel=`stylesheet`,r.href=t,r.onload=()=>e(),r.onerror=()=>n(Error(`[Module Federation] Failed to load CSS asset: ${t}`)),document.head.appendChild(r)})}))}var c={"./Components":async()=>{await s(`./Components`),await Promise.all([]);let e=await o(`./Components`,()=>n(()=>import(`./assets/Components-Dd31YUW5.js`),[],import.meta.url)),t=e&&e.__mf_remote_dependency_pending;t&&typeof t.then==`function`&&await t;let r={};return Object.assign(r,e),Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),r}};typeof __VUE_HMR_RUNTIME__>`u`&&(globalThis.__VUE_HMR_RUNTIME__={createRecord(){},rerender(){},reload(){}});var l=`__mf_init__virtual:mf:__mfe_internal__SatDisplay__mf_owner__180606781360439__mf_v__runtimeInit__mf_v__.js__`,u=globalThis[l];if(!u){let e,t,n=new Promise((n,r)=>{e=n,t=r});u=globalThis[l]={initPromise:n,initResolve:e,initReject:t}}var d=u.initResolve,f=`__mf_module_cache__`;globalThis[f]||={share:{},remote:{}},globalThis[f].share||={},globalThis[f].remote||={};var p=globalThis[f];for(let e of Object.keys(p.share))if(e.startsWith(`default:`)){let t=e.slice(8);p.share[t]===void 0&&(p.share[t]=p.share[e])}else if(!e.includes(`:`)){let t=`default:`+e;p.share[t]===void 0&&(p.share[t]=p.share[e])}var m={},h=Array.isArray(`default`)?`default`:[`default`],g=`default`,_=`SatDisplay`,v=[[`react`],[`react/jsx-runtime`,`react-dom`,`@emotion/react`],[`react-dom/client`,`@emotion/styled`],[`@mui/material`],[`@mui/icons-material`],[`@iobroker/gui-components`],[`@iobroker/json-config`]],y,b;async function x(e){for(let t=0;;t++)try{return await e()}catch(e){throw e}}var S=Symbol(`mf.originalSharedProvider`),C={emit:e=>e},w=e=>Array.isArray(e.scope)?e.scope:[e.scope||`default`],T=(e,t)=>{if(t!==`version-first`)return e;let n={};for(let[t,r]of Object.entries(e))n[t]=Object.assign({},r,{[S]:r});return n},E=(e,t)=>{if(!t)return;let n=Object.entries(e||{}),r=n.find(([,e])=>e===t);if(r)return{version:r[0],provider:t,registered:!0};if(typeof t.version==`string`&&t.version)return{version:t.version,provider:t,registered:!1};let i=n.filter(([,e])=>e===t||!!(t.from&&(e==null?void 0:e.from)===t.from));if(i.length===1)return{version:i[0][0],provider:t,registered:!1}},D=(e,n,r,i)=>{var a;if(!e||!r)return;let o=Object.fromEntries(Object.entries(e).filter(([,e])=>{var t;return(e==null||(t=e.shareConfig)==null?void 0:t.import)!==!1}));if(Object.keys(o).length===0)return;let s=w(r),c=T(o,i),l={};for(let e of s)l[e||`default`]={[n]:c};let u=(a=t.getRegisteredShare(l,n,{...r,scope:s,strategy:i},C))==null?void 0:a.shared;return(u==null?void 0:u[S])||u},O=(e,t,n,r)=>{var i;let a=e=>k(e,n),o=Object.fromEntries(Object.entries(e||{}).filter(([,e])=>{var t;return!a(e)&&(e==null||(t=e.shareConfig)==null?void 0:t.import)!==!1}));n!=null&&n.version&&((i=n.shareConfig)==null?void 0:i.import)!==!1&&(o[n.version]||(o[n.version]=n));let s=D(o,t,n,r);return a(s)?void 0:s},k=(e,t)=>e===t||!!(t!=null&&t.from&&(e==null?void 0:e.from)===t.from),A=(e,t,n,r,i,a,o,s,c)=>{var l,u;if(c!==`version-first`||!s)return;let d=t==null||(l=t.options)==null||(l=l.shared)==null?void 0:l[i],f=Array.isArray(d)?d.find(e=>(e==null?void 0:e.version)===a):void 0,p=((s==null?void 0:s.from)===(t==null||(u=t.options)==null?void 0:u.name)?s:void 0)||(k(f,s)?f:t?void 0:s);if(p)return e.some(e=>{var i,a;return e!==t&&(e==null||(i=e.options)==null?void 0:i.name)===(o==null?void 0:o.from)&&(e==null||(a=e.shareScopeMap)==null?void 0:a[r])===n})?p:void 0},ee=(e,t,n,r,i,a,o,s,c)=>{let l=a.registered?A(e,t,n,r,i,a.version,a.provider,s,c):void 0,u=l||o;if(u&&(!a.registered||k(u,s)))return{provider:u,scopeRootProvider:l}};async function te(){return y||=x(()=>n(()=>import(`./assets/_virtual_mf-localSharedImportMap___mfe_internal__SatDisplay__mf_owner__1-Bp0DvNe1.js`),[],import.meta.url)).catch(e=>{throw y=void 0,e}),y}async function j(){return c}async function M(t={},n=[],r={}){var i,a;let o=(e,t,n,r)=>{let i=(Array.isArray(r)?r[0]:r)||`default`,a=t||!n?e:e+`@`+n,o={canonical:i+`:`+a};return i==="default"&&(o.aliases=[a]),o},s=(e,t)=>{let n=e[t.canonical];if(n!==void 0)return n;let r=t.aliases||[];for(let n of r){if(!Object.prototype.hasOwnProperty.call(e,n))continue;let r=e[n];if(r!==void 0)return e[t.canonical]=r,r}},c=Symbol.for(`module-federation.shared-cache-listeners`),l=Symbol.for(`module-federation.shared-cache-owners`),f=e=>{let t=e[l];return t===void 0&&(t=Object.create(null),Object.defineProperty(e,l,{value:t,enumerable:!1,configurable:!1,writable:!1})),t},y=(e,t)=>{var n;return(n=e[l])==null?void 0:n[t.canonical]},S=e=>{let t=[e,e==null?void 0:e.default];for(let e of t)if(e&&typeof e==`object`){for(let t of[`__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE`,`__TEST_INTERNALS`,`__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED`]){let n=e[t];if(n&&typeof n==`object`)return{internals:n}}if(typeof e.useState==`function`)return{hook:e.useState}}},C=(e,t)=>{if(e===t)return!0;let n=S(e),r=S(t);if(!n||!r)return!1;let i=n.internals,a=r.internals;return i!==void 0||a!==void 0?i!==void 0&&i===a:typeof n.hook==`function`&&n.hook===r.hook},w=(e,t,n,r)=>{var i;let a=s(e,t);if(a!==void 0&&C(a,n))return n;e[t.canonical]=n;let o=t.aliases||[];for(let t of o)Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0});let u=e[l];r===void 0?u&&delete u[t.canonical]:f(e)[t.canonical]=r;let d=(i=e[c])==null?void 0:i[t.canonical];if(d)for(let e of d)e(n);return n},T=Symbol.for(`module-federation.tree-shaking-shared-cache`),A=e=>{let t=e[T];return t===void 0&&(t=Object.create(null),Object.defineProperty(e,T,{value:t,enumerable:!1,configurable:!1,writable:!1})),t},j=(e,t,n,r)=>{if(!Array.isArray(n))return r;let i=[...new Set(n)].sort(),a=A(e),o=a[t.canonical]||=[],s=o.find(e=>e.providedExports.length===i.length&&e.providedExports.every((e,t)=>e===i[t]));return s?s.value=r:o.push({providedExports:i,value:r}),r},M=Symbol.for(`module-federation.tree-shaking-shared-selection-cache`),N=e=>{let t=e[M];return t===void 0&&(t=Object.create(null),Object.defineProperty(e,M,{value:t,enumerable:!1,configurable:!1,writable:!1})),t},P=(e,t,n)=>{var r;let i=s(e,t);return i===void 0?(r=e[M])==null||(r=r[t.canonical])==null?void 0:r[n]:i},F=(e,t,n,r)=>{let i=N(e),a=i[t.canonical]||=Object.create(null);return a[n]=r,r},I=((i=globalThis.__FEDERATION__)==null?void 0:i.__INSTANCES__)||[],L=(a=n.find(e=>e==null?void 0:e.from))==null?void 0:a.from,ne=I.find(e=>{var n,r;return(e==null||(n=e.options)==null?void 0:n.name)===L&&(e==null||(r=e.shareScopeMap)==null?void 0:r.default)===t})||I.find(e=>{var n,r;return(e==null||(n=e.options)==null?void 0:n.name)!==_&&(e==null||(r=e.shareScopeMap)==null?void 0:r.default)===t}),R=Object.create(null),re=e=>{let t=Object.create(null);for(let[n,r]of Object.entries(e||{}))t[n]=Object.assign(Object.create(null),r);return t},ie=(e,t)=>{var n;for(let[i,a]of Object.entries(((n=q.shareScopeMap)==null?void 0:n[e])||{}))for(let[e,n]of Object.entries(a||{})){var r;if(!n||n.get===((r=B[i])==null?void 0:r.get))continue;let a=t[i]||={};a[e]===void 0&&(a[e]=n)}},ae=(e,t)=>{ie(e,t);let n=!ne&&Object.values(t||{}).some(e=>Object.values(e||{}).some(V)),r=n?re(t):t;return R[e]={host:t,runtime:r,isWebpackScope:n},r},oe=()=>{let e=Object.values(R).filter(({isWebpackScope:e})=>e);if(e.length!==0)for(let{host:t,runtime:n}of e)for(let[e,r]of Object.entries(t||{})){let t=n[e]||=Object.create(null);for(let[e,n]of Object.entries(r||{}))t[e]=n}},z=Object.create(null);for(let[e,n]of Object.entries(t)){let t=z[e]=Object.create(null);for(let[e,r]of Object.entries(n))t[e]=Object.assign({},r)}let{usedShared:B,usedRemotes:se}=await te();function V(e){if(typeof(e==null?void 0:e.get)!=`function`)return!1;let t=Function.prototype.toString.call(e.get);return t.includes(`__webpack_require__`)||/\.\s*e\s*\([^)]*\)\s*\.then\s*\(/.test(t)}let ce=Object.values(z).some(e=>Object.values(e||{}).some(V)),le=e=>{let t=e.split(`/`);return e.startsWith(`@`)?t.slice(0,2).join(`/`):t[0]},H=(e,n,r,i)=>{if(typeof O!=`function`)return;let a=le(e),o=!i||a===e?[[e,n]]:[[e,n],[a,B[a]]];for(let[n,i]of o){if(!i)continue;let a=O(r?n===e?r:z[n]:z[n]??t[n],n,i,`version-first`);if(a)return a}},ue=(e,t,n)=>{let r=H(e,t,n,!0);return r&&V(r)&&!r.lib&&!r.loaded?r:void 0};var U=m[g];if(U||=m[g]={from:_},n.indexOf(U)>=0)return;n.push(U);let de=e=>{let t=e;for(let e=0;e<5;e++){let e=t==null?void 0:t.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.getPrototypeOf(e);if(n!==null&&n!==Object.prototype)break;let r=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(r.length>0&&r.some(e=>e!==void 0))break;t=e}return t},fe=[],pe=globalThis.window===void 0?await Promise.all([]):[],W=`__mf_vite_runtime_share_load_id__`,me=0,G=new Map,K=new Map,q=e({name:_,remotes:se,shared:B,plugins:[he(),ge(),...fe,...pe],shareStrategy:`version-first`});q.initShareScopeMap(`default`,ae(`default`,t));function he(){return{name:`vite-share-pin-lifecycle-plugin`,resolveShare(e){var t;let n=(t=e.shareInfo)==null?void 0:t[W],r=n===void 0?void 0:K.get(n);if(!r)return e;let i=e.resolver;return e.resolver=(...e)=>(r.pinned.reapply(),i(...e)),r.pinned.reveal(),e}}}function ge(){return{name:`vite-real-name-snapshot-plugin`,afterLoadSnapshot(e){let t=e&&e.remoteSnapshot,n=t&&t.globalName,r=t&&t.version;if(!n||!r||!t.remoteEntry)return e;let i=globalThis.__FEDERATION__&&globalThis.__FEDERATION__.moduleInfo,a=n+`:`+r;return i&&!i[a]&&(i[a]=t),e}}}let _e=q.sharedHandler.hooks.lifecycle.resolveShare;if(!q.__mfKeepAdoptedProviders){var J,ve;q.__mfKeepAdoptedProviders=!0,(J=q.sharedHandler)==null||(J=J.hooks)==null||(J=J.lifecycle)==null||(J=J.afterRegisterShare)==null||(ve=J.on)==null||ve.call(J,e=>{var t,n,r;let{shared:i,previousShared:a,registeredShared:o}=e||{};if((i==null||(t=i.shareConfig)==null?void 0:t.import)!==!1||o!==i||!a||((n=a.shareConfig)==null?void 0:n.import)===!1)return;let s=(r=q.shareScopeMap)==null||(r=r[e.scope])==null?void 0:r[e.pkgName];s&&s[i.version]===i&&(s[i.version]=a)})}let Y=new WeakMap;_e.on(e=>{var t;let n=(t=e.shareInfo)==null?void 0:t[W],r=e.resolver;return typeof r==`function`&&(e.resolver=(...t)=>{var i;let a=r(...t);if((a==null||(i=a.shared)==null||(i=i.shareConfig)==null?void 0:i.import)===!1&&typeof D==`function`&&B[e.pkgName]){var o,s;let t=D((o=e.shareScopeMap)==null||(o=o[e.scope])==null?void 0:o[e.pkgName],e.pkgName,B[e.pkgName],`version-first`);t&&((s=t.shareConfig)==null?void 0:s.import)!==!1&&(a={shared:t,useTreesShaking:a.useTreesShaking})}let c=a==null?void 0:a.shared;return c&&(typeof c==`object`||typeof c==`function`)&&!Y.has(c)&&Y.set(c,{from:c.from}),n!==void 0&&c&&G.set(n,c),a}),e});let ye=(e,t,n,r)=>{if(!e||e[t]!==n)return;let i=Object.assign({},r,{version:r.version??t,scope:r.scope??(n==null?void 0:n.scope)??[`default`],strategy:`loaded-first`}),a=r.from;e[t]=i;let o=()=>n===void 0?e[t]===void 0:e[t]===n;return{provider:i,reveal(){return e[t]===i&&(n===void 0?delete e[t]:e[t]=n,!0)},reapply(){return o()?(e[t]=i,!0):!1},release(s,c=!0){return r.from=a,e[t]===i?c?s?(i.from=a,s&&i.lib&&(i.loaded=!0),r.strategy===void 0?delete i.strategy:i.strategy=r.strategy,!0):(n===void 0?delete e[t]:e[t]=n,!1):(n===void 0?delete e[t]:e[t]=n,!0):!c&&o()}}},be=e=>Object.entries(e||{}).map(([e,t])=>({provider:t,version:e,from:t.from,registered:!0})),xe=(e,t)=>{if(t===void 0)return;let n;for(let r of e){let e=r.provider,i=e.treeShaking||e;if(r.loadedFactory===t||e.lib===t||i.lib===t){if(n)return;n=r}}return n},Se=async(e,t,n)=>{let r=++me;K.set(r,{pinned:n});try{let n=await q.loadShare(e,{customShareInfo:{shareConfig:t,[W]:r}});return{factory:n===!1?void 0:n,selectedProvider:G.get(r)}}finally{G.delete(r),K.delete(r)}},Ce=async(e,t,n,r,i,a,o=!0)=>{let s=a.from,c=ye(n,r,i,a);if(!c)return;let l;try{l=await Se(e,t,c)}catch(e){throw c.release(!1),e}let u=l==null?void 0:l.factory;if(u===void 0){c.release(!1);return}let d=be(n),f=c.provider.treeShaking||c.provider,p=c.provider.lib===u||f.lib===u;if(!o&&p){let e=d.findIndex(e=>e.provider===c.provider);e!==-1&&d.splice(e,1)}!o&&!d.some(e=>e.provider===a)&&d.push({provider:a,version:r,from:s,registered:!1,loadedFactory:p?u:void 0});let m=!o&&l.selectedProvider===c.provider&&p?a:l.selectedProvider;if(m&&!d.some(e=>e.provider===m)){let e=Y.get(m),t=typeof m.version==`string`&&m.version?m.version:r;d.push({provider:m,version:t,from:e?e.from:m.from,registered:(n==null?void 0:n[t])===m,loadedFactory:u})}let h=d.find(e=>e.provider===m)??xe(d,u);if(!c.release(!0,(h==null?void 0:h.provider)===c.provider)||!h)return;let g=Y.get(h.provider);h.from=h.provider===a?s:g?g.from:h.provider.from,g&&(h.provider.from=g.from);let _=typeof u==`function`?u():u,v=await Promise.resolve(_);if(!(h.registered&&(n==null?void 0:n[h.version])!==h.provider))return{provider:h.provider,selection:h,resolved:v}},X=new Set,we=new Map,Te=async(e,n,r)=>{var i;let a=!!((i=n.shareConfig)!=null&&i.singleton);if(!a&&n.canLiveRebind!==!1)try{var c,l;let i=O(r,e,n,`version-first`),u=E(r,i);if(!u||((c=n.shareConfig)==null?void 0:c.import)===!1&&k(i,n)||(i==null||(l=i.shareConfig)==null?void 0:l.import)===!1)return;let{version:d}=u;if(!a&&d!==n.version||!i.lib&&!i.loading&&!(i.loaded&&typeof i.get==`function`))return;let f=o(e,a,n.version,n.scope);if(s(p.share,f)!==void 0)return;let m=t[e],h=m==null?void 0:m[d];if(u.registered&&!k(h,i))return;let g,_=i.lib;if(!_&&V(i)||(!_&&i.loading&&(_=await i.loading),!_&&i.loaded&&typeof i.get==`function`&&(_=await i.get()),!_))return;let v=typeof _==`function`?_():_,y=await Promise.resolve(v),b=u.registered?h:i;g={provider:b,selection:{provider:b,version:d,from:i.from,registered:u.registered},resolved:y};let x=g==null?void 0:g.provider,S=g==null?void 0:g.selection;if(!S)return;let C=g==null?void 0:g.resolved;if(C===void 0||s(p.share,f)!==void 0||S.registered&&(m==null?void 0:m[S.version])!==x)return;w(p.share,f,de(C),S.from),X.add(x)}catch(t){console.error(`[Module Federation] Failed to bridge materialized shared module "`+e+`"`,t)}},Ee=async(e,n,r,i,a)=>{try{var c,l,u,d;let f=o(e,(c=n.shareConfig)==null?void 0:c.singleton,n.version,n.scope),m=s(p.share,f),h=y(p.share,f),g=O(r,e,n,`version-first`),v=g||D(r,e,n,`version-first`)||n,b=E(r,v);if(!b)return;let x=k(v,n),{version:S}=b;if(!((l=n.shareConfig)!=null&&l.singleton)&&S!==n.version)return;let C=i==null?void 0:i[S],T=ee(I,ne,t,`default`,e,b,g,C,`version-first`);if(!T&&!x)return;let{provider:A,scopeRootProvider:te}=T||{provider:v,scopeRootProvider:void 0};if(n.canLiveRebind===!1||((u=n.shareConfig)==null?void 0:u.import)===!1&&k(A,n)||(A==null||(d=A.shareConfig)==null?void 0:d.import)===!1||m!==void 0&&h!==_)return;let j=t[e],M=j==null?void 0:j[S];if(b.registered&&!te&&!k(M,A))return;let N=await Ce(e,n.shareConfig,j,S,M,A,b.registered&&!x),P=N==null?void 0:N.provider,F=N==null?void 0:N.selection;if(!F||k(P,n)||a&&(a.version!==F.version||!k({from:F.from},a.provider))||X.has(P))return;let L=N==null?void 0:N.resolved;if(L===void 0)return;let R=s(p.share,f),re=y(p.share,f);if(R!==void 0&&re!==_||F.registered&&(j==null?void 0:j[F.version])!==P)return;a||we.set(e,{version:F.version,provider:{from:F.from}}),X.add(P);let ie=de(L);w(p.share,f,ie,F.from)}catch(t){console.error(`[Module Federation] Failed to bridge external shared module "`+e+`"`,t)}};for(let e of v)await Promise.all(e.map(async e=>{let t=B[e];t&&t.materialize!==!1&&!t.treeShaking&&await Te(e,t,z[e])}));for(let[e,t]of Object.entries(B)){var De;if(t.treeShaking)continue;let n=o(e,(De=t.shareConfig)==null?void 0:De.singleton,t.version,t.scope);if(s(p.share,n)!==void 0)continue;let r=o(e,!0,t.version,t.scope),i=s(p.share,r);i!==void 0&&w(p.share,n,i,y(p.share,r))}let Oe=[`react`,`react/jsx-runtime`,`react-dom`,`@emotion/react`,`react-dom/client`,`@emotion/styled`,`@mui/material`,`@mui/icons-material`,`@iobroker/gui-components`,`@iobroker/json-config`],ke=[[`react`],[`react/jsx-runtime`,`react-dom`,`@emotion/react`],[`react-dom/client`,`@emotion/styled`],[`@mui/material`],[`@mui/icons-material`],[`@iobroker/gui-components`],[`@iobroker/json-config`]],Z=new Map(Oe.map((e,t)=>[e,t])),Ae={1:[0],2:[0],3:[0],4:[0,2],5:[3,0],6:[3,5,0,2],7:[6,0],8:[0,2,7,6],9:[3,5,8,7,6,0,2]},Q=Oe.filter(e=>{var t;return B[e]&&(B[e].materialize!==!1||((t=B[e].shareConfig)==null?void 0:t.import)===!1&&!B[e].lazy)});p.providerInit||=new Map;let je=(e,t)=>{let n=p.providerInit.get(e);if(n)return n;let r=Promise.resolve().then(t);return p.providerInit.set(e,r),r.catch(()=>p.providerInit.delete(e)),r};var Me=async e=>{let t=new Set(e);for(let e of ke)await Promise.all(e.filter(e=>t.has(e)).map(async e=>{var t,n,r;let i=B[e],a=o(e,(t=i.shareConfig)==null?void 0:t.singleton,i.version,i.scope);if(((n=i.shareConfig)==null?void 0:n.import)===!1||i.treeShaking||s(p.share,a)!==void 0)return;let c=o(e,!0,i.version,i.scope),l=s(p.share,c);if(l!==void 0){w(p.share,a,l,y(p.share,c));return}let u=typeof H==`function`?H(e,i):void 0;if(u){var d,f;let t=u.lib;if(!t&&u.loading&&(t=await u.loading),!t&&u.loaded&&typeof u.get==`function`&&(t=await u.get()),t){let e=typeof t==`function`?t():t,n=await Promise.resolve(e);w(p.share,a,(e=>{let t=e;for(let e=0;e<5;e++){let e=t==null?void 0:t.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.getPrototypeOf(e);if(n!==null&&n!==Object.prototype)break;let r=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(r.length>0&&r.some(e=>e!==void 0))break;t=e}return t})(n),u.from);return}if(typeof V==`function`&&V(u)&&((d=i.shareConfig)!=null&&d.singleton||((f=E(z[e],u))==null?void 0:f.version)===i.version))return}let m=a.canonical,h=await je(m,async()=>{let e=await i.get(),t=typeof e==`function`?e():e;return Promise.resolve(t)});for(let t of((r=q.options.shared)==null?void 0:r[e])||[])t.get===i.get&&(t.eager=!0);let g=(e=>{let t=e;for(let e=0;e<5;e++){let e=t==null?void 0:t.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.getPrototypeOf(e);if(n!==null&&n!==Object.prototype)break;let r=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(r.length>0&&r.some(e=>e!==void 0))break;t=e}return t})(h),v=g===h?{...h}:g;v.__esModule!==!0&&Object.defineProperty(v,"__esModule",{value:!0,enumerable:!1}),w(p.share,a,v,_)}))};let $=e=>{var t,n;let r=B[e];if(!r.treeShaking&&((t=r.shareConfig)==null?void 0:t.import)!==!1)return!1;let i=o(e,(n=r.shareConfig)==null?void 0:n.singleton,r.version,r.scope);return r.treeShaking?P(p.share,i,_)===void 0&&s(p.share,i)===void 0:s(p.share,i)===void 0},Ne=e=>{var t,n;let r=B[e],i=o(e,(t=r.shareConfig)==null?void 0:t.singleton,r.version,r.scope);return(r.treeShaking?P(p.share,i,_)??s(p.share,i):s(p.share,i))===void 0?r.treeShaking||((n=r.shareConfig)==null?void 0:n.import)===!1?!0:typeof O==`function`&&!!O(z[e],e,r,`version-first`):!1},Pe=e=>{let t=!0;for(;t;){t=!1;for(let n of Q){let r=Z.get(n);e.has(r)||(Ae[r]||[]).some(t=>e.has(t))&&(e.add(r),t=!0)}}return e},Fe=Pe(new Set(Q.filter(Ne).map(e=>Z.get(e)))),Ie=Q.filter(e=>!Fe.has(Z.get(e)));var Le=Q.filter(e=>Fe.has(Z.get(e)));await Me(Ie);try{await x(async()=>{await Promise.all(await q.initializeSharing(`default`,{strategy:`version-first`,from:`build`,initScope:n}))})}catch(e){console.error(`[Module Federation]`,e)}oe();let Re=async()=>{for(let e of v)await Promise.all(e.map(async e=>{let n=B[e];n&&n.materialize!==!1&&!n.treeShaking&&await Ee(e,n,t[e],z[e],void 0)}))};ce?b=Re:await Re();try{var ze;let e=(ze=globalThis.__FEDERATION__)==null?void 0:ze.__SHARE__,t=Object.create(null);if(e)for(let[,n]of Object.entries(e))for(let e of h){let r=n==null?void 0:n[e];if(r)for(let[e,n]of Object.entries(r)){let r=B==null?void 0:B[e],i=z[e],a=we.get(e);if(!r||!i||!a||r.treeShaking)continue;let o=t[e]||(t[e]=Object.create(null));for(let[e,t]of Object.entries(n)){if(!t.lib||a.version!==e||!k(t,a.provider))continue;let n=i[e];(t===n||n!=null&&n.from&&t.from===n.from)&&(t===r||r.from&&t.from===r.from||o[e]===void 0&&(o[e]=t))}}}for(let e of v)await Promise.all(e.map(async e=>{let n=t[e];n&&await Ee(e,B[e],n,z[e],we.get(e))}))}catch(e){console.error(`[Module Federation] Failed to bridge external shared modules`,e)}let Be=async()=>{},Ve=async(e,n)=>{var r,i;let a=o(e,(r=n.shareConfig)==null?void 0:r.singleton,n.version,n.scope),c=n.treeShaking?P(p.share,a,_):s(p.share,a);if(((i=n.shareConfig)==null?void 0:i.import)!==!1||c!==void 0||ue(e,n,z[e]))return;let l=e=>{let t=e;for(let e=0;e<5;e++){let e=t==null?void 0:t.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.getPrototypeOf(e);if(n!==null&&n!==Object.prototype)break;let r=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(r.length>0&&r.some(e=>e!==void 0))break;t=e}return t},u=t==null?void 0:t[e],d=D(u,e,n,`version-first`)||n,f=E(u,d);if(!f)return;let m=e=>{var t;return e===n||(e==null||(t=e.shareConfig)==null?void 0:t.import)===!1};if(m(d))return;let{version:h}=f,g=u==null?void 0:u[h],v=await Ce(e,n.shareConfig,u,h,g,d,f.registered),y=v==null?void 0:v.selection,b=v==null?void 0:v.provider,x=v==null?void 0:v.resolved;if(!y||m(b)||x===void 0||(n.treeShaking?P(p.share,a,_):s(p.share,a))!==void 0||y.registered&&(u==null?void 0:u[y.version])!==b)return;let S=l(x);if(n.treeShaking){let e=n.treeShaking.providedExports??n.treeShaking.usedExports??[];j(p.share,a,e,S),F(p.share,a,_,S)}else w(p.share,a,S,y.from)},He=[],Ue=new Set;for(let e of Le){let t=B[e],n=Z.get(e);if($(e))try{var We;t.treeShaking?await Be(e,t):((We=t.shareConfig)==null?void 0:We.import)===!1&&await Ve(e,t)}catch(t){console.error(`[Module Federation] Failed to resolve runtime-only shared module "${e}"`,t)}$(e)&&Ue.add(n)}Pe(Ue),He.push(...Le.filter(e=>!Ue.has(Z.get(e)))),await Me(He);let Ge=new Map;return u.loadLazyShares=async e=>{let n=new Set(e);for(let e of v)await Promise.all(e.filter(e=>n.has(e)).map(e=>{let n=B[e];if(!n||!n.lazy||!$(e))return;let r=Ge.get(e);return r||(r=Ee(e,n,t[e],z[e],void 0).then(()=>$(e)?Ve(e,n):void 0),r.catch(()=>Ge.delete(e)),Ge.set(e,r)),r}))},d(q),q}async function N(e){let t=await j();if(!(e in t))throw Error(`[Module Federation] Module ${e} does not exist in container.`);return b&&await b(),p.pendingShareLoads&&await Promise.all(p.pendingShareLoads),t[e]().then(e=>()=>e)}export{N as get,M as init};
|
|
1
|
+
import{t as e}from"./assets/dist-ClWhWsnT.js";import{t}from"./assets/helpers-DYkm0lQU.js";import{t as n}from"./assets/vite-preload-helper-D97eqSzU.js";var r={},i=new Set,a=new Map;function o(e,t){let n=a.get(e);return n||(n=Promise.resolve().then(t).catch(t=>{throw a.delete(e),t}),a.set(e,n)),n}async function s(e){if(typeof document>`u`)return;let t=r[e]||[];await Promise.all(t.map(e=>{let t=new URL(e,import.meta.url).href;return i.has(t)||(i.add(t),document.querySelector(`link[rel="stylesheet"][href="${t}"]`))?Promise.resolve():new Promise((e,n)=>{let r=document.createElement(`link`);r.rel=`stylesheet`,r.href=t,r.onload=()=>e(),r.onerror=()=>n(Error(`[Module Federation] Failed to load CSS asset: ${t}`)),document.head.appendChild(r)})}))}var c={"./Components":async()=>{await s(`./Components`),await Promise.all([]);let e=await o(`./Components`,()=>n(()=>import(`./assets/Components-dEIM9Tps.js`),[],import.meta.url)),t=e&&e.__mf_remote_dependency_pending;t&&typeof t.then==`function`&&await t;let r={};return Object.assign(r,e),Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),r}};typeof __VUE_HMR_RUNTIME__>`u`&&(globalThis.__VUE_HMR_RUNTIME__={createRecord(){},rerender(){},reload(){}});var l=`__mf_init__virtual:mf:__mfe_internal__SatDisplay__mf_owner__180606781360439__mf_v__runtimeInit__mf_v__.js__`,u=globalThis[l];if(!u){let e,t,n=new Promise((n,r)=>{e=n,t=r});u=globalThis[l]={initPromise:n,initResolve:e,initReject:t}}var d=u.initResolve,f=`__mf_module_cache__`;globalThis[f]||={share:{},remote:{}},globalThis[f].share||={},globalThis[f].remote||={};var p=globalThis[f];for(let e of Object.keys(p.share))if(e.startsWith(`default:`)){let t=e.slice(8);p.share[t]===void 0&&(p.share[t]=p.share[e])}else if(!e.includes(`:`)){let t=`default:`+e;p.share[t]===void 0&&(p.share[t]=p.share[e])}var m={},h=Array.isArray(`default`)?`default`:[`default`],g=`default`,_=`SatDisplay`,v=[[`react`],[`react/jsx-runtime`,`react-dom`,`@emotion/react`],[`react-dom/client`,`@emotion/styled`],[`@mui/material`],[`@mui/icons-material`],[`@iobroker/gui-components`],[`@iobroker/json-config`]],y,b;async function x(e){for(let t=0;;t++)try{return await e()}catch(e){throw e}}var S=Symbol(`mf.originalSharedProvider`),C={emit:e=>e},w=e=>Array.isArray(e.scope)?e.scope:[e.scope||`default`],T=(e,t)=>{if(t!==`version-first`)return e;let n={};for(let[t,r]of Object.entries(e))n[t]=Object.assign({},r,{[S]:r});return n},E=(e,t)=>{if(!t)return;let n=Object.entries(e||{}),r=n.find(([,e])=>e===t);if(r)return{version:r[0],provider:t,registered:!0};if(typeof t.version==`string`&&t.version)return{version:t.version,provider:t,registered:!1};let i=n.filter(([,e])=>e===t||!!(t.from&&(e==null?void 0:e.from)===t.from));if(i.length===1)return{version:i[0][0],provider:t,registered:!1}},D=(e,n,r,i)=>{var a;if(!e||!r)return;let o=Object.fromEntries(Object.entries(e).filter(([,e])=>{var t;return(e==null||(t=e.shareConfig)==null?void 0:t.import)!==!1}));if(Object.keys(o).length===0)return;let s=w(r),c=T(o,i),l={};for(let e of s)l[e||`default`]={[n]:c};let u=(a=t.getRegisteredShare(l,n,{...r,scope:s,strategy:i},C))==null?void 0:a.shared;return(u==null?void 0:u[S])||u},O=(e,t,n,r)=>{var i;let a=e=>k(e,n),o=Object.fromEntries(Object.entries(e||{}).filter(([,e])=>{var t;return!a(e)&&(e==null||(t=e.shareConfig)==null?void 0:t.import)!==!1}));n!=null&&n.version&&((i=n.shareConfig)==null?void 0:i.import)!==!1&&(o[n.version]||(o[n.version]=n));let s=D(o,t,n,r);return a(s)?void 0:s},k=(e,t)=>e===t||!!(t!=null&&t.from&&(e==null?void 0:e.from)===t.from),A=(e,t,n,r,i,a,o,s,c)=>{var l,u;if(c!==`version-first`||!s)return;let d=t==null||(l=t.options)==null||(l=l.shared)==null?void 0:l[i],f=Array.isArray(d)?d.find(e=>(e==null?void 0:e.version)===a):void 0,p=((s==null?void 0:s.from)===(t==null||(u=t.options)==null?void 0:u.name)?s:void 0)||(k(f,s)?f:t?void 0:s);if(p)return e.some(e=>{var i,a;return e!==t&&(e==null||(i=e.options)==null?void 0:i.name)===(o==null?void 0:o.from)&&(e==null||(a=e.shareScopeMap)==null?void 0:a[r])===n})?p:void 0},ee=(e,t,n,r,i,a,o,s,c)=>{let l=a.registered?A(e,t,n,r,i,a.version,a.provider,s,c):void 0,u=l||o;if(u&&(!a.registered||k(u,s)))return{provider:u,scopeRootProvider:l}};async function te(){return y||=x(()=>n(()=>import(`./assets/_virtual_mf-localSharedImportMap___mfe_internal__SatDisplay__mf_owner__1-Bp0DvNe1.js`),[],import.meta.url)).catch(e=>{throw y=void 0,e}),y}async function j(){return c}async function M(t={},n=[],r={}){var i,a;let o=(e,t,n,r)=>{let i=(Array.isArray(r)?r[0]:r)||`default`,a=t||!n?e:e+`@`+n,o={canonical:i+`:`+a};return i==="default"&&(o.aliases=[a]),o},s=(e,t)=>{let n=e[t.canonical];if(n!==void 0)return n;let r=t.aliases||[];for(let n of r){if(!Object.prototype.hasOwnProperty.call(e,n))continue;let r=e[n];if(r!==void 0)return e[t.canonical]=r,r}},c=Symbol.for(`module-federation.shared-cache-listeners`),l=Symbol.for(`module-federation.shared-cache-owners`),f=e=>{let t=e[l];return t===void 0&&(t=Object.create(null),Object.defineProperty(e,l,{value:t,enumerable:!1,configurable:!1,writable:!1})),t},y=(e,t)=>{var n;return(n=e[l])==null?void 0:n[t.canonical]},S=e=>{let t=[e,e==null?void 0:e.default];for(let e of t)if(e&&typeof e==`object`){for(let t of[`__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE`,`__TEST_INTERNALS`,`__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED`]){let n=e[t];if(n&&typeof n==`object`)return{internals:n}}if(typeof e.useState==`function`)return{hook:e.useState}}},C=(e,t)=>{if(e===t)return!0;let n=S(e),r=S(t);if(!n||!r)return!1;let i=n.internals,a=r.internals;return i!==void 0||a!==void 0?i!==void 0&&i===a:typeof n.hook==`function`&&n.hook===r.hook},w=(e,t,n,r)=>{var i;let a=s(e,t);if(a!==void 0&&C(a,n))return n;e[t.canonical]=n;let o=t.aliases||[];for(let t of o)Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0});let u=e[l];r===void 0?u&&delete u[t.canonical]:f(e)[t.canonical]=r;let d=(i=e[c])==null?void 0:i[t.canonical];if(d)for(let e of d)e(n);return n},T=Symbol.for(`module-federation.tree-shaking-shared-cache`),A=e=>{let t=e[T];return t===void 0&&(t=Object.create(null),Object.defineProperty(e,T,{value:t,enumerable:!1,configurable:!1,writable:!1})),t},j=(e,t,n,r)=>{if(!Array.isArray(n))return r;let i=[...new Set(n)].sort(),a=A(e),o=a[t.canonical]||=[],s=o.find(e=>e.providedExports.length===i.length&&e.providedExports.every((e,t)=>e===i[t]));return s?s.value=r:o.push({providedExports:i,value:r}),r},M=Symbol.for(`module-federation.tree-shaking-shared-selection-cache`),N=e=>{let t=e[M];return t===void 0&&(t=Object.create(null),Object.defineProperty(e,M,{value:t,enumerable:!1,configurable:!1,writable:!1})),t},P=(e,t,n)=>{var r;let i=s(e,t);return i===void 0?(r=e[M])==null||(r=r[t.canonical])==null?void 0:r[n]:i},F=(e,t,n,r)=>{let i=N(e),a=i[t.canonical]||=Object.create(null);return a[n]=r,r},I=((i=globalThis.__FEDERATION__)==null?void 0:i.__INSTANCES__)||[],L=(a=n.find(e=>e==null?void 0:e.from))==null?void 0:a.from,ne=I.find(e=>{var n,r;return(e==null||(n=e.options)==null?void 0:n.name)===L&&(e==null||(r=e.shareScopeMap)==null?void 0:r.default)===t})||I.find(e=>{var n,r;return(e==null||(n=e.options)==null?void 0:n.name)!==_&&(e==null||(r=e.shareScopeMap)==null?void 0:r.default)===t}),R=Object.create(null),re=e=>{let t=Object.create(null);for(let[n,r]of Object.entries(e||{}))t[n]=Object.assign(Object.create(null),r);return t},ie=(e,t)=>{var n;for(let[i,a]of Object.entries(((n=q.shareScopeMap)==null?void 0:n[e])||{}))for(let[e,n]of Object.entries(a||{})){var r;if(!n||n.get===((r=B[i])==null?void 0:r.get))continue;let a=t[i]||={};a[e]===void 0&&(a[e]=n)}},ae=(e,t)=>{ie(e,t);let n=!ne&&Object.values(t||{}).some(e=>Object.values(e||{}).some(V)),r=n?re(t):t;return R[e]={host:t,runtime:r,isWebpackScope:n},r},oe=()=>{let e=Object.values(R).filter(({isWebpackScope:e})=>e);if(e.length!==0)for(let{host:t,runtime:n}of e)for(let[e,r]of Object.entries(t||{})){let t=n[e]||=Object.create(null);for(let[e,n]of Object.entries(r||{}))t[e]=n}},z=Object.create(null);for(let[e,n]of Object.entries(t)){let t=z[e]=Object.create(null);for(let[e,r]of Object.entries(n))t[e]=Object.assign({},r)}let{usedShared:B,usedRemotes:se}=await te();function V(e){if(typeof(e==null?void 0:e.get)!=`function`)return!1;let t=Function.prototype.toString.call(e.get);return t.includes(`__webpack_require__`)||/\.\s*e\s*\([^)]*\)\s*\.then\s*\(/.test(t)}let ce=Object.values(z).some(e=>Object.values(e||{}).some(V)),le=e=>{let t=e.split(`/`);return e.startsWith(`@`)?t.slice(0,2).join(`/`):t[0]},H=(e,n,r,i)=>{if(typeof O!=`function`)return;let a=le(e),o=!i||a===e?[[e,n]]:[[e,n],[a,B[a]]];for(let[n,i]of o){if(!i)continue;let a=O(r?n===e?r:z[n]:z[n]??t[n],n,i,`version-first`);if(a)return a}},ue=(e,t,n)=>{let r=H(e,t,n,!0);return r&&V(r)&&!r.lib&&!r.loaded?r:void 0};var U=m[g];if(U||=m[g]={from:_},n.indexOf(U)>=0)return;n.push(U);let de=e=>{let t=e;for(let e=0;e<5;e++){let e=t==null?void 0:t.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.getPrototypeOf(e);if(n!==null&&n!==Object.prototype)break;let r=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(r.length>0&&r.some(e=>e!==void 0))break;t=e}return t},fe=[],pe=globalThis.window===void 0?await Promise.all([]):[],W=`__mf_vite_runtime_share_load_id__`,me=0,G=new Map,K=new Map,q=e({name:_,remotes:se,shared:B,plugins:[he(),ge(),...fe,...pe],shareStrategy:`version-first`});q.initShareScopeMap(`default`,ae(`default`,t));function he(){return{name:`vite-share-pin-lifecycle-plugin`,resolveShare(e){var t;let n=(t=e.shareInfo)==null?void 0:t[W],r=n===void 0?void 0:K.get(n);if(!r)return e;let i=e.resolver;return e.resolver=(...e)=>(r.pinned.reapply(),i(...e)),r.pinned.reveal(),e}}}function ge(){return{name:`vite-real-name-snapshot-plugin`,afterLoadSnapshot(e){let t=e&&e.remoteSnapshot,n=t&&t.globalName,r=t&&t.version;if(!n||!r||!t.remoteEntry)return e;let i=globalThis.__FEDERATION__&&globalThis.__FEDERATION__.moduleInfo,a=n+`:`+r;return i&&!i[a]&&(i[a]=t),e}}}let _e=q.sharedHandler.hooks.lifecycle.resolveShare;if(!q.__mfKeepAdoptedProviders){var J,ve;q.__mfKeepAdoptedProviders=!0,(J=q.sharedHandler)==null||(J=J.hooks)==null||(J=J.lifecycle)==null||(J=J.afterRegisterShare)==null||(ve=J.on)==null||ve.call(J,e=>{var t,n,r;let{shared:i,previousShared:a,registeredShared:o}=e||{};if((i==null||(t=i.shareConfig)==null?void 0:t.import)!==!1||o!==i||!a||((n=a.shareConfig)==null?void 0:n.import)===!1)return;let s=(r=q.shareScopeMap)==null||(r=r[e.scope])==null?void 0:r[e.pkgName];s&&s[i.version]===i&&(s[i.version]=a)})}let Y=new WeakMap;_e.on(e=>{var t;let n=(t=e.shareInfo)==null?void 0:t[W],r=e.resolver;return typeof r==`function`&&(e.resolver=(...t)=>{var i;let a=r(...t);if((a==null||(i=a.shared)==null||(i=i.shareConfig)==null?void 0:i.import)===!1&&typeof D==`function`&&B[e.pkgName]){var o,s;let t=D((o=e.shareScopeMap)==null||(o=o[e.scope])==null?void 0:o[e.pkgName],e.pkgName,B[e.pkgName],`version-first`);t&&((s=t.shareConfig)==null?void 0:s.import)!==!1&&(a={shared:t,useTreesShaking:a.useTreesShaking})}let c=a==null?void 0:a.shared;return c&&(typeof c==`object`||typeof c==`function`)&&!Y.has(c)&&Y.set(c,{from:c.from}),n!==void 0&&c&&G.set(n,c),a}),e});let ye=(e,t,n,r)=>{if(!e||e[t]!==n)return;let i=Object.assign({},r,{version:r.version??t,scope:r.scope??(n==null?void 0:n.scope)??[`default`],strategy:`loaded-first`}),a=r.from;e[t]=i;let o=()=>n===void 0?e[t]===void 0:e[t]===n;return{provider:i,reveal(){return e[t]===i&&(n===void 0?delete e[t]:e[t]=n,!0)},reapply(){return o()?(e[t]=i,!0):!1},release(s,c=!0){return r.from=a,e[t]===i?c?s?(i.from=a,s&&i.lib&&(i.loaded=!0),r.strategy===void 0?delete i.strategy:i.strategy=r.strategy,!0):(n===void 0?delete e[t]:e[t]=n,!1):(n===void 0?delete e[t]:e[t]=n,!0):!c&&o()}}},be=e=>Object.entries(e||{}).map(([e,t])=>({provider:t,version:e,from:t.from,registered:!0})),xe=(e,t)=>{if(t===void 0)return;let n;for(let r of e){let e=r.provider,i=e.treeShaking||e;if(r.loadedFactory===t||e.lib===t||i.lib===t){if(n)return;n=r}}return n},Se=async(e,t,n)=>{let r=++me;K.set(r,{pinned:n});try{let n=await q.loadShare(e,{customShareInfo:{shareConfig:t,[W]:r}});return{factory:n===!1?void 0:n,selectedProvider:G.get(r)}}finally{G.delete(r),K.delete(r)}},Ce=async(e,t,n,r,i,a,o=!0)=>{let s=a.from,c=ye(n,r,i,a);if(!c)return;let l;try{l=await Se(e,t,c)}catch(e){throw c.release(!1),e}let u=l==null?void 0:l.factory;if(u===void 0){c.release(!1);return}let d=be(n),f=c.provider.treeShaking||c.provider,p=c.provider.lib===u||f.lib===u;if(!o&&p){let e=d.findIndex(e=>e.provider===c.provider);e!==-1&&d.splice(e,1)}!o&&!d.some(e=>e.provider===a)&&d.push({provider:a,version:r,from:s,registered:!1,loadedFactory:p?u:void 0});let m=!o&&l.selectedProvider===c.provider&&p?a:l.selectedProvider;if(m&&!d.some(e=>e.provider===m)){let e=Y.get(m),t=typeof m.version==`string`&&m.version?m.version:r;d.push({provider:m,version:t,from:e?e.from:m.from,registered:(n==null?void 0:n[t])===m,loadedFactory:u})}let h=d.find(e=>e.provider===m)??xe(d,u);if(!c.release(!0,(h==null?void 0:h.provider)===c.provider)||!h)return;let g=Y.get(h.provider);h.from=h.provider===a?s:g?g.from:h.provider.from,g&&(h.provider.from=g.from);let _=typeof u==`function`?u():u,v=await Promise.resolve(_);if(!(h.registered&&(n==null?void 0:n[h.version])!==h.provider))return{provider:h.provider,selection:h,resolved:v}},X=new Set,we=new Map,Te=async(e,n,r)=>{var i;let a=!!((i=n.shareConfig)!=null&&i.singleton);if(!a&&n.canLiveRebind!==!1)try{var c,l;let i=O(r,e,n,`version-first`),u=E(r,i);if(!u||((c=n.shareConfig)==null?void 0:c.import)===!1&&k(i,n)||(i==null||(l=i.shareConfig)==null?void 0:l.import)===!1)return;let{version:d}=u;if(!a&&d!==n.version||!i.lib&&!i.loading&&!(i.loaded&&typeof i.get==`function`))return;let f=o(e,a,n.version,n.scope);if(s(p.share,f)!==void 0)return;let m=t[e],h=m==null?void 0:m[d];if(u.registered&&!k(h,i))return;let g,_=i.lib;if(!_&&V(i)||(!_&&i.loading&&(_=await i.loading),!_&&i.loaded&&typeof i.get==`function`&&(_=await i.get()),!_))return;let v=typeof _==`function`?_():_,y=await Promise.resolve(v),b=u.registered?h:i;g={provider:b,selection:{provider:b,version:d,from:i.from,registered:u.registered},resolved:y};let x=g==null?void 0:g.provider,S=g==null?void 0:g.selection;if(!S)return;let C=g==null?void 0:g.resolved;if(C===void 0||s(p.share,f)!==void 0||S.registered&&(m==null?void 0:m[S.version])!==x)return;w(p.share,f,de(C),S.from),X.add(x)}catch(t){console.error(`[Module Federation] Failed to bridge materialized shared module "`+e+`"`,t)}},Ee=async(e,n,r,i,a)=>{try{var c,l,u,d;let f=o(e,(c=n.shareConfig)==null?void 0:c.singleton,n.version,n.scope),m=s(p.share,f),h=y(p.share,f),g=O(r,e,n,`version-first`),v=g||D(r,e,n,`version-first`)||n,b=E(r,v);if(!b)return;let x=k(v,n),{version:S}=b;if(!((l=n.shareConfig)!=null&&l.singleton)&&S!==n.version)return;let C=i==null?void 0:i[S],T=ee(I,ne,t,`default`,e,b,g,C,`version-first`);if(!T&&!x)return;let{provider:A,scopeRootProvider:te}=T||{provider:v,scopeRootProvider:void 0};if(n.canLiveRebind===!1||((u=n.shareConfig)==null?void 0:u.import)===!1&&k(A,n)||(A==null||(d=A.shareConfig)==null?void 0:d.import)===!1||m!==void 0&&h!==_)return;let j=t[e],M=j==null?void 0:j[S];if(b.registered&&!te&&!k(M,A))return;let N=await Ce(e,n.shareConfig,j,S,M,A,b.registered&&!x),P=N==null?void 0:N.provider,F=N==null?void 0:N.selection;if(!F||k(P,n)||a&&(a.version!==F.version||!k({from:F.from},a.provider))||X.has(P))return;let L=N==null?void 0:N.resolved;if(L===void 0)return;let R=s(p.share,f),re=y(p.share,f);if(R!==void 0&&re!==_||F.registered&&(j==null?void 0:j[F.version])!==P)return;a||we.set(e,{version:F.version,provider:{from:F.from}}),X.add(P);let ie=de(L);w(p.share,f,ie,F.from)}catch(t){console.error(`[Module Federation] Failed to bridge external shared module "`+e+`"`,t)}};for(let e of v)await Promise.all(e.map(async e=>{let t=B[e];t&&t.materialize!==!1&&!t.treeShaking&&await Te(e,t,z[e])}));for(let[e,t]of Object.entries(B)){var De;if(t.treeShaking)continue;let n=o(e,(De=t.shareConfig)==null?void 0:De.singleton,t.version,t.scope);if(s(p.share,n)!==void 0)continue;let r=o(e,!0,t.version,t.scope),i=s(p.share,r);i!==void 0&&w(p.share,n,i,y(p.share,r))}let Oe=[`react`,`react/jsx-runtime`,`react-dom`,`@emotion/react`,`react-dom/client`,`@emotion/styled`,`@mui/material`,`@mui/icons-material`,`@iobroker/gui-components`,`@iobroker/json-config`],ke=[[`react`],[`react/jsx-runtime`,`react-dom`,`@emotion/react`],[`react-dom/client`,`@emotion/styled`],[`@mui/material`],[`@mui/icons-material`],[`@iobroker/gui-components`],[`@iobroker/json-config`]],Z=new Map(Oe.map((e,t)=>[e,t])),Ae={1:[0],2:[0],3:[0],4:[0,2],5:[3,0],6:[3,5,0,2],7:[6,0],8:[0,2,7,6],9:[3,5,8,7,6,0,2]},Q=Oe.filter(e=>{var t;return B[e]&&(B[e].materialize!==!1||((t=B[e].shareConfig)==null?void 0:t.import)===!1&&!B[e].lazy)});p.providerInit||=new Map;let je=(e,t)=>{let n=p.providerInit.get(e);if(n)return n;let r=Promise.resolve().then(t);return p.providerInit.set(e,r),r.catch(()=>p.providerInit.delete(e)),r};var Me=async e=>{let t=new Set(e);for(let e of ke)await Promise.all(e.filter(e=>t.has(e)).map(async e=>{var t,n,r;let i=B[e],a=o(e,(t=i.shareConfig)==null?void 0:t.singleton,i.version,i.scope);if(((n=i.shareConfig)==null?void 0:n.import)===!1||i.treeShaking||s(p.share,a)!==void 0)return;let c=o(e,!0,i.version,i.scope),l=s(p.share,c);if(l!==void 0){w(p.share,a,l,y(p.share,c));return}let u=typeof H==`function`?H(e,i):void 0;if(u){var d,f;let t=u.lib;if(!t&&u.loading&&(t=await u.loading),!t&&u.loaded&&typeof u.get==`function`&&(t=await u.get()),t){let e=typeof t==`function`?t():t,n=await Promise.resolve(e);w(p.share,a,(e=>{let t=e;for(let e=0;e<5;e++){let e=t==null?void 0:t.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.getPrototypeOf(e);if(n!==null&&n!==Object.prototype)break;let r=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(r.length>0&&r.some(e=>e!==void 0))break;t=e}return t})(n),u.from);return}if(typeof V==`function`&&V(u)&&((d=i.shareConfig)!=null&&d.singleton||((f=E(z[e],u))==null?void 0:f.version)===i.version))return}let m=a.canonical,h=await je(m,async()=>{let e=await i.get(),t=typeof e==`function`?e():e;return Promise.resolve(t)});for(let t of((r=q.options.shared)==null?void 0:r[e])||[])t.get===i.get&&(t.eager=!0);let g=(e=>{let t=e;for(let e=0;e<5;e++){let e=t==null?void 0:t.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.getPrototypeOf(e);if(n!==null&&n!==Object.prototype)break;let r=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(r.length>0&&r.some(e=>e!==void 0))break;t=e}return t})(h),v=g===h?{...h}:g;v.__esModule!==!0&&Object.defineProperty(v,"__esModule",{value:!0,enumerable:!1}),w(p.share,a,v,_)}))};let $=e=>{var t,n;let r=B[e];if(!r.treeShaking&&((t=r.shareConfig)==null?void 0:t.import)!==!1)return!1;let i=o(e,(n=r.shareConfig)==null?void 0:n.singleton,r.version,r.scope);return r.treeShaking?P(p.share,i,_)===void 0&&s(p.share,i)===void 0:s(p.share,i)===void 0},Ne=e=>{var t,n;let r=B[e],i=o(e,(t=r.shareConfig)==null?void 0:t.singleton,r.version,r.scope);return(r.treeShaking?P(p.share,i,_)??s(p.share,i):s(p.share,i))===void 0?r.treeShaking||((n=r.shareConfig)==null?void 0:n.import)===!1?!0:typeof O==`function`&&!!O(z[e],e,r,`version-first`):!1},Pe=e=>{let t=!0;for(;t;){t=!1;for(let n of Q){let r=Z.get(n);e.has(r)||(Ae[r]||[]).some(t=>e.has(t))&&(e.add(r),t=!0)}}return e},Fe=Pe(new Set(Q.filter(Ne).map(e=>Z.get(e)))),Ie=Q.filter(e=>!Fe.has(Z.get(e)));var Le=Q.filter(e=>Fe.has(Z.get(e)));await Me(Ie);try{await x(async()=>{await Promise.all(await q.initializeSharing(`default`,{strategy:`version-first`,from:`build`,initScope:n}))})}catch(e){console.error(`[Module Federation]`,e)}oe();let Re=async()=>{for(let e of v)await Promise.all(e.map(async e=>{let n=B[e];n&&n.materialize!==!1&&!n.treeShaking&&await Ee(e,n,t[e],z[e],void 0)}))};ce?b=Re:await Re();try{var ze;let e=(ze=globalThis.__FEDERATION__)==null?void 0:ze.__SHARE__,t=Object.create(null);if(e)for(let[,n]of Object.entries(e))for(let e of h){let r=n==null?void 0:n[e];if(r)for(let[e,n]of Object.entries(r)){let r=B==null?void 0:B[e],i=z[e],a=we.get(e);if(!r||!i||!a||r.treeShaking)continue;let o=t[e]||(t[e]=Object.create(null));for(let[e,t]of Object.entries(n)){if(!t.lib||a.version!==e||!k(t,a.provider))continue;let n=i[e];(t===n||n!=null&&n.from&&t.from===n.from)&&(t===r||r.from&&t.from===r.from||o[e]===void 0&&(o[e]=t))}}}for(let e of v)await Promise.all(e.map(async e=>{let n=t[e];n&&await Ee(e,B[e],n,z[e],we.get(e))}))}catch(e){console.error(`[Module Federation] Failed to bridge external shared modules`,e)}let Be=async()=>{},Ve=async(e,n)=>{var r,i;let a=o(e,(r=n.shareConfig)==null?void 0:r.singleton,n.version,n.scope),c=n.treeShaking?P(p.share,a,_):s(p.share,a);if(((i=n.shareConfig)==null?void 0:i.import)!==!1||c!==void 0||ue(e,n,z[e]))return;let l=e=>{let t=e;for(let e=0;e<5;e++){let e=t==null?void 0:t.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.getPrototypeOf(e);if(n!==null&&n!==Object.prototype)break;let r=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(r.length>0&&r.some(e=>e!==void 0))break;t=e}return t},u=t==null?void 0:t[e],d=D(u,e,n,`version-first`)||n,f=E(u,d);if(!f)return;let m=e=>{var t;return e===n||(e==null||(t=e.shareConfig)==null?void 0:t.import)===!1};if(m(d))return;let{version:h}=f,g=u==null?void 0:u[h],v=await Ce(e,n.shareConfig,u,h,g,d,f.registered),y=v==null?void 0:v.selection,b=v==null?void 0:v.provider,x=v==null?void 0:v.resolved;if(!y||m(b)||x===void 0||(n.treeShaking?P(p.share,a,_):s(p.share,a))!==void 0||y.registered&&(u==null?void 0:u[y.version])!==b)return;let S=l(x);if(n.treeShaking){let e=n.treeShaking.providedExports??n.treeShaking.usedExports??[];j(p.share,a,e,S),F(p.share,a,_,S)}else w(p.share,a,S,y.from)},He=[],Ue=new Set;for(let e of Le){let t=B[e],n=Z.get(e);if($(e))try{var We;t.treeShaking?await Be(e,t):((We=t.shareConfig)==null?void 0:We.import)===!1&&await Ve(e,t)}catch(t){console.error(`[Module Federation] Failed to resolve runtime-only shared module "${e}"`,t)}$(e)&&Ue.add(n)}Pe(Ue),He.push(...Le.filter(e=>!Ue.has(Z.get(e)))),await Me(He);let Ge=new Map;return u.loadLazyShares=async e=>{let n=new Set(e);for(let e of v)await Promise.all(e.filter(e=>n.has(e)).map(e=>{let n=B[e];if(!n||!n.lazy||!$(e))return;let r=Ge.get(e);return r||(r=Ee(e,n,t[e],z[e],void 0).then(()=>$(e)?Ve(e,n):void 0),r.catch(()=>Ge.delete(e)),Ge.set(e,r)),r}))},d(q),q}async function N(e){let t=await j();if(!(e in t))throw Error(`[Module Federation] Module ${e} does not exist in container.`);return b&&await b(),p.pendingShareLoads&&await Promise.all(p.pendingShareLoads),t[e]().then(e=>()=>e)}export{N as get,M as init};
|
|
2
2
|
if (typeof document !== 'undefined' && document.head) {
|
|
3
3
|
try {
|
|
4
4
|
for (const __mfWarmupPath of ["assets/_virtual_mf-localSharedImportMap___mfe_internal__SatDisplay__mf_owner__1-Bp0DvNe1.js","assets/dist-ClWhWsnT.js","assets/vite-preload-helper-D97eqSzU.js","assets/utils-BLvN1RVq.js"]) {
|
|
@@ -34,5 +34,7 @@
|
|
|
34
34
|
"sd_current_state": "Ist-Temperatur",
|
|
35
35
|
"sd_target_state": "Soll-Temperatur",
|
|
36
36
|
"sd_relay_state": "Heizungsrelais (optional, der Punkt)",
|
|
37
|
-
"sd_step": "Schrittweite von − / +"
|
|
37
|
+
"sd_step": "Schrittweite von − / +",
|
|
38
|
+
"sd_bad_size": "Diese Art gibt es nicht in dieser Größe, die Kachel wird weggelassen: andere Größe wählen oder auf der Seite Platz schaffen.",
|
|
39
|
+
"sd_need_target": "Ein Thermostat braucht den Datenpunkt der Soll-Temperatur, bis dahin wird die Kachel weggelassen."
|
|
38
40
|
}
|
|
@@ -34,5 +34,7 @@
|
|
|
34
34
|
"sd_current_state": "Current temperature",
|
|
35
35
|
"sd_target_state": "Target temperature",
|
|
36
36
|
"sd_relay_state": "Heating relay (optional, the dot)",
|
|
37
|
-
"sd_step": "Step of − / +"
|
|
37
|
+
"sd_step": "Step of − / +",
|
|
38
|
+
"sd_bad_size": "This kind does not come in this size, the tile is left out: choose another size, or make room on the page.",
|
|
39
|
+
"sd_need_target": "A thermostat needs the state of its target temperature, the tile is left out until it has one."
|
|
38
40
|
}
|
|
@@ -34,5 +34,7 @@
|
|
|
34
34
|
"sd_current_state": "Temperatura actual",
|
|
35
35
|
"sd_target_state": "Temperatura deseada",
|
|
36
36
|
"sd_relay_state": "Relé de la calefacción (opcional, el punto)",
|
|
37
|
-
"sd_step": "Paso de − / +"
|
|
37
|
+
"sd_step": "Paso de − / +",
|
|
38
|
+
"sd_bad_size": "Este tipo no existe en este tamaño, el mosaico se omite: elija otro tamaño o libere espacio en la página.",
|
|
39
|
+
"sd_need_target": "Un termostato necesita el estado de la temperatura deseada, hasta entonces el mosaico se omite."
|
|
38
40
|
}
|
|
@@ -34,5 +34,7 @@
|
|
|
34
34
|
"sd_current_state": "Température actuelle",
|
|
35
35
|
"sd_target_state": "Température de consigne",
|
|
36
36
|
"sd_relay_state": "Relais du chauffage (facultatif, le point)",
|
|
37
|
-
"sd_step": "Pas de − / +"
|
|
37
|
+
"sd_step": "Pas de − / +",
|
|
38
|
+
"sd_bad_size": "Ce type n'existe pas dans cette taille, la tuile est omise : choisissez une autre taille ou libérez de la place sur la page.",
|
|
39
|
+
"sd_need_target": "Un thermostat a besoin de l'état de la température de consigne, la tuile est omise jusque-là."
|
|
38
40
|
}
|
|
@@ -34,5 +34,7 @@
|
|
|
34
34
|
"sd_current_state": "Temperatura attuale",
|
|
35
35
|
"sd_target_state": "Temperatura desiderata",
|
|
36
36
|
"sd_relay_state": "Relè del riscaldamento (facoltativo, il punto)",
|
|
37
|
-
"sd_step": "Passo di − / +"
|
|
37
|
+
"sd_step": "Passo di − / +",
|
|
38
|
+
"sd_bad_size": "Questo tipo non esiste in questa dimensione, il riquadro viene omesso: scegli un'altra dimensione o libera spazio nella pagina.",
|
|
39
|
+
"sd_need_target": "Un termostato ha bisogno dello stato della temperatura desiderata, fino ad allora il riquadro viene omesso."
|
|
38
40
|
}
|
|
@@ -34,5 +34,7 @@
|
|
|
34
34
|
"sd_current_state": "Huidige temperatuur",
|
|
35
35
|
"sd_target_state": "Gewenste temperatuur",
|
|
36
36
|
"sd_relay_state": "Verwarmingsrelais (optioneel, de stip)",
|
|
37
|
-
"sd_step": "Stap van − / +"
|
|
37
|
+
"sd_step": "Stap van − / +",
|
|
38
|
+
"sd_bad_size": "Dit soort bestaat niet in deze grootte, de tegel wordt weggelaten: kies een andere grootte of maak ruimte op de pagina.",
|
|
39
|
+
"sd_need_target": "Een thermostaat heeft de state van de gewenste temperatuur nodig, tot dan wordt de tegel weggelaten."
|
|
38
40
|
}
|
|
@@ -34,5 +34,7 @@
|
|
|
34
34
|
"sd_current_state": "Temperatura bieżąca",
|
|
35
35
|
"sd_target_state": "Temperatura zadana",
|
|
36
36
|
"sd_relay_state": "Przekaźnik ogrzewania (opcjonalnie, kropka)",
|
|
37
|
-
"sd_step": "Krok − / +"
|
|
37
|
+
"sd_step": "Krok − / +",
|
|
38
|
+
"sd_bad_size": "Ten rodzaj nie występuje w tym rozmiarze, kafelek zostanie pominięty: wybierz inny rozmiar lub zwolnij miejsce na stronie.",
|
|
39
|
+
"sd_need_target": "Termostat potrzebuje stanu temperatury zadanej, do tego czasu kafelek jest pomijany."
|
|
38
40
|
}
|
|
@@ -34,5 +34,7 @@
|
|
|
34
34
|
"sd_current_state": "Temperatura atual",
|
|
35
35
|
"sd_target_state": "Temperatura desejada",
|
|
36
36
|
"sd_relay_state": "Relé do aquecimento (opcional, o ponto)",
|
|
37
|
-
"sd_step": "Passo de − / +"
|
|
37
|
+
"sd_step": "Passo de − / +",
|
|
38
|
+
"sd_bad_size": "Este tipo não existe neste tamanho, o bloco é omitido: escolha outro tamanho ou liberte espaço na página.",
|
|
39
|
+
"sd_need_target": "Um termóstato precisa do estado da temperatura desejada, até lá o bloco é omitido."
|
|
38
40
|
}
|
|
@@ -34,5 +34,7 @@
|
|
|
34
34
|
"sd_current_state": "Текущая температура",
|
|
35
35
|
"sd_target_state": "Заданная температура",
|
|
36
36
|
"sd_relay_state": "Реле отопления (необязательно, индикатор)",
|
|
37
|
-
"sd_step": "Шаг − / +"
|
|
37
|
+
"sd_step": "Шаг − / +",
|
|
38
|
+
"sd_bad_size": "Этот вид не бывает такого размера, плитка будет пропущена: выберите другой размер или освободите место на странице.",
|
|
39
|
+
"sd_need_target": "Термостату нужно состояние заданной температуры, без него плитка пропускается."
|
|
38
40
|
}
|
|
@@ -34,5 +34,7 @@
|
|
|
34
34
|
"sd_current_state": "Поточна температура",
|
|
35
35
|
"sd_target_state": "Задана температура",
|
|
36
36
|
"sd_relay_state": "Реле опалення (необов'язково, індикатор)",
|
|
37
|
-
"sd_step": "Крок − / +"
|
|
37
|
+
"sd_step": "Крок − / +",
|
|
38
|
+
"sd_bad_size": "Цей вид не буває такого розміру, плитку буде пропущено: виберіть інший розмір або звільніть місце на сторінці.",
|
|
39
|
+
"sd_need_target": "Термостату потрібен стан заданої температури, без нього плитка пропускається."
|
|
38
40
|
}
|
package/admin/jsonConfig.json
CHANGED
package/io-package.json
CHANGED
|
@@ -1,8 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "satellite-display",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.3",
|
|
5
5
|
"news": {
|
|
6
|
+
"0.0.3": {
|
|
7
|
+
"en": "Small bar and chart tiles (1 x 1, satellite firmware 2.0.2); the editor marks tiles that would be left out",
|
|
8
|
+
"de": "Kleine Balken- und Verlaufskacheln (1 x 1, Satelliten-Firmware 2.0.2); der Editor markiert Kacheln, die weggelassen würden",
|
|
9
|
+
"ru": "Маленькие плитки с полосой и графиком (1 x 1, прошивка сателлита 2.0.2); редактор отмечает плитки, которые будут пропущены",
|
|
10
|
+
"pt": "Blocos pequenos de barra e gráfico (1 x 1, firmware do satélite 2.0.2); o editor marca os blocos que seriam omitidos",
|
|
11
|
+
"nl": "Kleine balk- en grafiektegels (1 x 1, satellietfirmware 2.0.2); de editor markeert tegels die zouden worden weggelaten",
|
|
12
|
+
"fr": "Petites tuiles barre et courbe (1 x 1, firmware du satellite 2.0.2) ; l'éditeur marque les tuiles qui seraient omises",
|
|
13
|
+
"it": "Piccoli riquadri con barra e grafico (1 x 1, firmware del satellite 2.0.2); l'editor segna i riquadri che verrebbero omessi",
|
|
14
|
+
"es": "Mosaicos pequeños de barra y gráfico (1 x 1, firmware del satélite 2.0.2); el editor marca los mosaicos que se omitirían",
|
|
15
|
+
"pl": "Małe kafelki z paskiem i wykresem (1 x 1, firmware satelity 2.0.2); edytor oznacza kafelki, które zostałyby pominięte",
|
|
16
|
+
"uk": "Малі плитки зі смугою та графіком (1 x 1, прошивка сателіта 2.0.2); редактор позначає плитки, які буде пропущено",
|
|
17
|
+
"zh-cn": "小型进度条和图表磁贴(1 x 1,卫星固件 2.0.2);编辑器会标记将被忽略的磁贴"
|
|
18
|
+
},
|
|
6
19
|
"0.0.2": {
|
|
7
20
|
"en": "Thermostat tile: current temperature, target with - and +, heating relay (satellite firmware 2.0.1)",
|
|
8
21
|
"de": "Thermostat-Kachel: Ist-Temperatur, Soll mit - und +, Heizungsrelais (Satelliten-Firmware 2.0.1)",
|
|
@@ -44,17 +57,17 @@
|
|
|
44
57
|
"zh-cn": "卫星显示屏"
|
|
45
58
|
},
|
|
46
59
|
"desc": {
|
|
47
|
-
"en": "Tile pages on the touch display of ESPHome voice satellites: values, gauges, charts, switches, dimmers and
|
|
48
|
-
"de": "Kachelseiten auf dem Touch-Display von ESPHome-Sprachsatelliten: Werte, Anzeigen, Verläufe, Schalter, Dimmer und
|
|
49
|
-
"ru": "Страницы плиток на сенсорном дисплее голосовых сателлитов ESPHome: значения, шкалы, графики, выключатели,
|
|
50
|
-
"pt": "Páginas de mosaicos no ecrã tátil de satélites de voz ESPHome: valores, mostradores, gráficos, interruptores, reguladores e
|
|
51
|
-
"nl": "Tegelpagina's op het aanraakscherm van ESPHome-spraaksatellieten: waarden, meters, grafieken, schakelaars, dimmers en
|
|
52
|
-
"fr": "Pages de tuiles sur l'écran tactile des satellites vocaux ESPHome : valeurs, jauges, courbes, interrupteurs, variateurs et
|
|
53
|
-
"it": "Pagine di riquadri sul display touch dei satelliti vocali ESPHome: valori, indicatori, grafici, interruttori, dimmer e
|
|
54
|
-
"es": "Páginas de mosaicos en la pantalla táctil de satélites de voz ESPHome: valores, indicadores, gráficos, interruptores, reguladores y
|
|
55
|
-
"pl": "Strony kafelków na ekranie dotykowym satelitów głosowych ESPHome: wartości, wskaźniki, wykresy, przełączniki, ściemniacze i
|
|
56
|
-
"uk": "Сторінки плиток на сенсорному дисплеї голосових сателітів ESPHome: значення, шкали, графіки, вимикачі,
|
|
57
|
-
"zh-cn": "ESPHome 语音卫星触摸屏上的磁贴页面:与 ioBroker
|
|
60
|
+
"en": "Tile pages on the touch display of ESPHome voice satellites: values, gauges, charts, switches, dimmers, buttons and thermostats bound to ioBroker states",
|
|
61
|
+
"de": "Kachelseiten auf dem Touch-Display von ESPHome-Sprachsatelliten: Werte, Anzeigen, Verläufe, Schalter, Dimmer, Tasten und Thermostate, verbunden mit ioBroker-Datenpunkten",
|
|
62
|
+
"ru": "Страницы плиток на сенсорном дисплее голосовых сателлитов ESPHome: значения, шкалы, графики, выключатели, диммеры, кнопки и термостаты, связанные с состояниями ioBroker",
|
|
63
|
+
"pt": "Páginas de mosaicos no ecrã tátil de satélites de voz ESPHome: valores, mostradores, gráficos, interruptores, reguladores, botões e termóstatos ligados a estados do ioBroker",
|
|
64
|
+
"nl": "Tegelpagina's op het aanraakscherm van ESPHome-spraaksatellieten: waarden, meters, grafieken, schakelaars, dimmers, knoppen en thermostaten gekoppeld aan ioBroker-states",
|
|
65
|
+
"fr": "Pages de tuiles sur l'écran tactile des satellites vocaux ESPHome : valeurs, jauges, courbes, interrupteurs, variateurs, boutons et thermostats liés aux états ioBroker",
|
|
66
|
+
"it": "Pagine di riquadri sul display touch dei satelliti vocali ESPHome: valori, indicatori, grafici, interruttori, dimmer, pulsanti e termostati collegati agli stati di ioBroker",
|
|
67
|
+
"es": "Páginas de mosaicos en la pantalla táctil de satélites de voz ESPHome: valores, indicadores, gráficos, interruptores, reguladores, botones y termostatos vinculados a estados de ioBroker",
|
|
68
|
+
"pl": "Strony kafelków na ekranie dotykowym satelitów głosowych ESPHome: wartości, wskaźniki, wykresy, przełączniki, ściemniacze, przyciski i termostaty powiązane ze stanami ioBroker",
|
|
69
|
+
"uk": "Сторінки плиток на сенсорному дисплеї голосових сателітів ESPHome: значення, шкали, графіки, вимикачі, димери, кнопки та термостати, пов'язані зі станами ioBroker",
|
|
70
|
+
"zh-cn": "ESPHome 语音卫星触摸屏上的磁贴页面:与 ioBroker 状态绑定的数值、仪表、图表、开关、调光器、按钮和恒温器"
|
|
58
71
|
},
|
|
59
72
|
"authors": [
|
|
60
73
|
"sadam6752-tech <sadam6752@gmail.com>"
|
package/lib/layout.js
CHANGED
|
@@ -13,8 +13,8 @@ const SIZES = { s: [1, 1], q: [1, 2], w: [2, 1], l: [2, 2] };
|
|
|
13
13
|
const TYPES = {
|
|
14
14
|
value: ['s', 'q', 'w', 'l'],
|
|
15
15
|
gauge: ['q', 'l'],
|
|
16
|
-
bar: ['q', 'w', 'l'],
|
|
17
|
-
chart: ['w', 'l'],
|
|
16
|
+
bar: ['s', 'q', 'w', 'l'],
|
|
17
|
+
chart: ['s', 'w', 'l'],
|
|
18
18
|
switch: ['s', 'q', 'w'],
|
|
19
19
|
dimmer: ['w', 'l'],
|
|
20
20
|
button: ['s', 'q', 'w'],
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iobroker.satellite-display",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "Tile pages on the touch display of ESPHome voice satellites: values, gauges, charts, switches, dimmers and
|
|
3
|
+
"version": "0.0.3",
|
|
4
|
+
"description": "Tile pages on the touch display of ESPHome voice satellites: values, gauges, charts, switches, dimmers, buttons and thermostats bound to ioBroker states",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "sadam6752-tech",
|
|
7
7
|
"email": "sadam6752@gmail.com"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./_virtual_mf___mfe_internal__SatDisplay__mf_owner__180606781360439__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-BtcMQbqk.js";import{$r as e,Dn as t,K as n,Mt as r,Qr as i,Qt as a,Sn as o,Yt as s,Zr as c,Zt as l,_ as u,cn as d,en as f,m as p,on as m,pt as h,rn as g,tn as _,zn as v}from"./_virtual_mf___mfe_internal__SatDisplay__mf_owner__180606781360439__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-B7AZpjV-.js";import{t as y}from"./_virtual_mf___mfe_internal__SatDisplay__mf_owner__180606781360439__loadShare__shared-B2hx53j0.js";var b={s:[1,1],q:[1,2],w:[2,1],l:[2,2]},x={value:[`s`,`q`,`w`,`l`],gauge:[`q`,`l`],bar:[`q`,`w`,`l`],chart:[`w`,`l`],switch:[`s`,`q`,`w`],dimmer:[`w`,`l`],button:[`s`,`q`,`w`],thermostat:[`q`,`l`]},S=`lightbulb.lamp.ceiling-light.power-plug.power.fan.radiator.thermometer.water-percent.flash.solar-power.battery.window-closed.window-open.door.garage.blinds.lock.lock-open.bell.television.movie.music.speaker.coffee.washing-machine.dishwasher.car.home.bed.sofa.shower.weather-sunny.weather-night.alarm.play.pause.stop.check.close`.split(`.`);function C(e,t){let n=e=>String(e||``).trim().toLowerCase().replace(/[^a-z0-9_-]+/g,`_`).replace(/^_+|_+$/g,``)||`satellite`;return n(e)===n(t)}function w(e,t,n){let[r,i]=b[e];return t>=0&&n>=0&&t+r<=2&&n+i<=4}function T(e,t){let[n,r]=b[e.size],[i,a]=b[t.size];return e.col<t.col+i&&t.col<e.col+n&&e.row<t.row+a&&t.row<e.row+r}function E(e,t,n,r,i,a,o=-1){return w(r,i,a)?!e.some((e,s)=>s!==o&&e.enabled!==!1&&C(e.satellite,t)&&Number(e.page)===n&&b[e.size]&&T(e,{size:r,col:i,row:a})):!1}function D(e,t,n,r,i=-1){for(let a=0;a<4;a++)for(let o=0;o<2;o++)if(E(e,t,n,r,o,a,i))return{col:o,row:a};return null}function O(e,t,n,r,i){return e.findIndex(e=>e.enabled!==!1&&C(e.satellite,t)&&Number(e.page)===n&&b[e.size]&&T(e,{size:`s`,col:r,row:i}))}function k(e,t,n){return e.map((e,t)=>({t:e,i:t})).filter(e=>e.t.enabled!==!1&&C(e.t.satellite,t)&&Number(e.t.page)===n).slice(8).map(e=>e.i)}function A(e,t,n,r){return{enabled:!0,satellite:e,page:t,col:n,row:r,size:`s`,type:`value`,state:``,state2:``,state3:``,label:``,unit:``,icon:``,decimals:``,min:``,max:``,step:``}}var j=1.5,M=e=>Math.round(e*j),N=e=>6+e*157,P=e=>6+Math.floor(e*117/2),F={value:`sd_kind_value`,gauge:`sd_kind_gauge`,bar:`sd_kind_bar`,chart:`sd_kind_chart`,switch:`sd_kind_switch`,dimmer:`sd_kind_dimmer`,button:`sd_kind_button`,thermostat:`sd_kind_thermostat`},I={s:`1 × 1`,q:`1 × 2`,w:`2 × 1`,l:`2 × 2`},L={screen:`#0B1118`,tile:`#18212B`,tileOn:`#0C4A6E`,label:`#8A9AAC`,accent:`#38BDF8`,track:`#2E3A47`,heatOn:`#4CAF50`,heatOff:`#4B5563`},R={TileEditor:class extends y{constructor(e){super(e),this.state={...this.state,satellite:``,page:1,selected:-1,pickFor:null,dragging:-1,values:{},names:{}}}async componentDidMount(){await super.componentDidMount();let e=this.satelliteNames();e.length&&this.setState({satellite:e[0]},()=>void this.readStates())}tiles(){let e=y.getValue(this.props.data,`tiles`);return Array.isArray(e)?e:[]}satelliteNames(){let e=y.getValue(this.props.data,`satellites`),t=(Array.isArray(e)?e:[]).map(e=>String((e==null?void 0:e.name)||``).trim()).filter(Boolean);for(let e of this.tiles()){let n=String(e.satellite||``).trim();n&&!t.some(e=>C(e,n))&&t.push(n)}return t}isConfigured(e){let t=y.getValue(this.props.data,`satellites`);return(Array.isArray(t)?t:[]).some(t=>C((t==null?void 0:t.name)||``,e))}setTiles(e,t=this.state.selected){this.setState({selected:t},()=>void this.onChange(`tiles`,e,()=>void this.readStates()))}update(e,t){let n=this.tiles().map((n,r)=>r===e?{...n,...t}:n);this.setTiles(n)}async readStates(){let e=this.props.oContext.socket,t=new Set;for(let e of this.pageTiles())for(let n of[e.tile.state,e.tile.state2,e.tile.state3])n&&!(n in this.state.values)&&t.add(n);if(!t.size)return;let n={},r={},i=u.getLanguage();for(let o of t)try{var a;let t=await e.getState(o);n[o]=t==null?void 0:t.val;let s=await e.getObject(o),c=s==null||(a=s.common)==null?void 0:a.name;r[o]=typeof c==`object`&&c?c[i]||c.en||``:String(c||``)}catch{n[o]=void 0}this.setState(e=>({values:{...e.values,...n},names:{...e.names,...r}}))}pageTiles(){return this.tiles().map((e,t)=>({tile:e,index:t})).filter(e=>e.tile.enabled!==!1&&C(e.tile.satellite,this.state.satellite)&&Number(e.tile.page)===this.state.page&&!!b[e.tile.size])}addAt(e,t){let n=[...this.tiles(),A(this.state.satellite,this.state.page,e,t)];this.setTiles(n,n.length-1)}moveTo(e,t,n){let r=this.tiles()[e];r&&E(this.tiles(),this.state.satellite,this.state.page,r.size,t,n,e)&&this.update(e,{col:t,row:n})}remove(e){this.setTiles(this.tiles().filter((t,n)=>n!==e),-1)}changeKind(e,t){let n=this.tiles()[e],{size:r,col:i,row:a}=n;if(!x[t].includes(r)){let o=x[t].find(t=>E(this.tiles(),n.satellite,Number(n.page),t,i,a,e));if(o)r=o;else for(let o of x[t]){let t=D(this.tiles(),n.satellite,Number(n.page),o,e);if(t){r=o,{col:i,row:a}=t;break}}}this.update(e,{type:t,size:r,col:i,row:a,state2:t===`dimmer`||t===`thermostat`?n.state2:``,state3:t===`thermostat`&&n.state3||``})}changePage(e,t){let n=this.tiles()[e],r=D(this.tiles(),n.satellite,t,n.size,e);r&&(this.update(e,{page:t,...r}),this.setState({page:t}))}renderTileFace(t,n,r){let a=this.state.values[t.state],o=t.label||this.state.names[t.state]||t.state.split(`.`).pop()||u.t(`sd_no_state`),s=typeof a==`number`?a:NaN,l=t.unit&&t.type!==`dimmer`?` ${t.unit}`:``,d=a==null?`–`:typeof a==`number`?`${Number(a.toFixed(t.decimals===``||t.decimals===null?1:Number(t.decimals)))}${l}`:`${String(a)}${typeof a==`boolean`?``:l}`,f=t.type===`dimmer`&&t.state2?!!this.state.values[t.state2]:a===!0||typeof a==`number`&&a>0,p=t.min===``||t.min===null?0:Number(t.min),m=t.max===``||t.max===null?100:Number(t.max),h=Number.isFinite(s)&&m>p?Math.max(0,Math.min(1,(s-p)/(m-p))):.5,g=i(`div`,{style:{color:L.label,fontSize:M(10),whiteSpace:`nowrap`,overflow:`hidden`,textOverflow:`ellipsis`},children:o}),_=r>M(60),v=i(`div`,{style:{fontSize:M(_?22:14)},children:d}),y=i(`div`,{style:{width:M(26),height:M(14),borderRadius:M(7),background:f?L.accent:L.track,position:`relative`,flex:`none`},children:i(`div`,{style:{position:`absolute`,top:M(2),left:M(f?14:2),width:M(10),height:M(10),borderRadius:`50%`,background:`#fff`}})}),b=(t,n)=>{let r=t/2-M(4),a=Math.PI*2*r*.75;return e(`svg`,{width:t,height:t,style:n,children:[i(`circle`,{cx:t/2,cy:t/2,r,fill:`none`,stroke:L.track,strokeWidth:M(5),strokeDasharray:`${a} ${a*2}`,transform:`rotate(135 ${t/2} ${t/2})`,strokeLinecap:`round`}),i(`circle`,{cx:t/2,cy:t/2,r,fill:`none`,stroke:L.accent,strokeWidth:M(5),strokeDasharray:`${a*h} ${a*3}`,transform:`rotate(135 ${t/2} ${t/2})`,strokeLinecap:`round`}),i(`text`,{x:t/2,y:t/2+M(4),textAnchor:`middle`,fill:`#fff`,fontSize:M(11),children:d})]})};switch(t.type){case`thermostat`:{let n=this.state.values[t.state2],r=Number(t.step)>0?Number(t.step):.5,a=typeof n==`number`?`${n.toFixed(+(r<1))}${t.unit?` ${t.unit}`:``}`:`–`,o=t.state3?this.state.values[t.state3]:void 0,s=t.state3&&o!=null?i(`div`,{style:{position:`absolute`,right:M(6),top:M(5),width:M(10),height:M(10),borderRadius:`50%`,background:o===!0||Number(o)>0?L.heatOn:L.heatOff}}):null,l=e(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,color:L.label,flex:1},children:[i(`span`,{style:{fontSize:M(18),fontWeight:700},children:`−`}),i(`span`,{style:{fontSize:t.size===`l`?M(22):M(11),color:t.size===`l`?`#fff`:L.label},children:a}),i(`span`,{style:{fontSize:M(18),fontWeight:700},children:`+`})]});return t.size===`l`?e(c,{children:[s,g,e(`div`,{style:{display:`flex`,alignItems:`center`,gap:M(12)},children:[b(M(52),{display:`block`,flex:`none`}),l]})]}):e(c,{children:[s,g,b(M(46),{display:`block`,margin:`0 auto`}),i(`div`,{style:{display:`flex`,marginTop:-M(4)},children:l})]})}case`gauge`:{let t=M(56),n=t/2-M(4),r=Math.PI*2*n*.75;return e(c,{children:[g,e(`svg`,{width:t,height:t,style:{display:`block`,margin:`${M(2)}px auto 0`},children:[i(`circle`,{cx:t/2,cy:t/2,r:n,fill:`none`,stroke:L.track,strokeWidth:M(5),strokeDasharray:`${r} ${r*2}`,transform:`rotate(135 ${t/2} ${t/2})`,strokeLinecap:`round`}),i(`circle`,{cx:t/2,cy:t/2,r:n,fill:`none`,stroke:L.accent,strokeWidth:M(5),strokeDasharray:`${r*h} ${r*3}`,transform:`rotate(135 ${t/2} ${t/2})`,strokeLinecap:`round`}),i(`text`,{x:t/2,y:t/2+M(4),textAnchor:`middle`,fill:`#fff`,fontSize:M(11),children:d})]})]})}case`bar`:return e(c,{children:[g,v,i(`div`,{style:{height:M(5),background:L.track,borderRadius:M(3),marginTop:M(_?14:2)},children:i(`div`,{style:{width:`${h*100}%`,height:`100%`,background:L.accent,borderRadius:M(3)}})})]});case`chart`:return e(c,{children:[g,v,i(`svg`,{width:n-M(16),height:M(18),style:{display:`block`},children:i(`polyline`,{fill:`none`,stroke:L.accent,strokeWidth:2,points:[0,.6,.4,.7,.3,.5,.2,.45,.35].map((e,t)=>`${t*(n-M(16))/8},${e*M(18)}`).join(` `)})})]});case`switch`:return e(`div`,{style:{display:`flex`,alignItems:_?`flex-start`:`center`,gap:M(6),height:`100%`,flexDirection:_?`column`:`row`,justifyContent:`space-between`},children:[i(`div`,{style:{flex:1,minWidth:0},children:g}),i(`div`,{style:{alignSelf:`flex-end`},children:y})]});case`dimmer`:return e(`div`,{style:{display:`flex`,alignItems:`center`,gap:M(6),height:`100%`},children:[i(`div`,{style:{width:M(40),minWidth:0},children:g}),y,i(`div`,{style:{flex:1,height:M(5),background:L.track,borderRadius:M(3)},children:i(`div`,{style:{width:`${Number.isFinite(s)?Math.max(0,Math.min(100,s)):50}%`,height:`100%`,background:L.accent,borderRadius:M(3)}})}),i(`div`,{style:{fontSize:M(11),width:M(30),textAlign:`right`},children:Number.isFinite(s)?`${Math.round(s)} %`:`–`})]});case`button`:return e(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`center`,height:`100%`,gap:M(6),flexDirection:_?`column`:`row`},children:[t.icon?e(`span`,{style:{color:L.accent,fontSize:M(9)},children:[`◉ `,t.icon]}):null,i(`span`,{style:{fontSize:M(11)},children:o})]});default:return r<=M(53)&&n<=M(151)?e(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,height:`100%`},children:[i(`div`,{style:{minWidth:0,flex:1},children:g}),i(`div`,{style:{fontSize:M(13)},children:d})]}):e(c,{children:[g,v]})}}renderScreen(){let t=this.tiles(),n=new Set(k(t,this.state.satellite,this.state.page)),a=[];for(let e=0;e<4;e++)for(let n=0;n<2;n++)O(t,this.state.satellite,this.state.page,n,e)===-1&&a.push(i(f,{title:u.t(`sd_add_here`),children:i(`div`,{onClick:()=>this.addAt(n,e),onDragOver:e=>e.preventDefault(),onDrop:t=>{t.preventDefault(),this.moveTo(this.state.dragging,n,e)},style:{position:`absolute`,left:M(N(n)),top:M(P(e)),width:M(151),height:M(P(e+1)-6-P(e)),border:`1px dashed #3a4654`,borderRadius:M(8),display:`flex`,alignItems:`center`,justifyContent:`center`,color:`#56657a`,cursor:`pointer`,boxSizing:`border-box`},children:i(r,{})})},`c${n}${e}`));return e(`div`,{style:{position:`relative`,width:M(320),height:M(240),background:L.screen,borderRadius:10,outline:`8px solid #2a2a2a`,margin:8,flex:`none`,fontFamily:`Roboto, sans-serif`},children:[a,this.pageTiles().map(({tile:e,index:t})=>{let[r,a]=b[e.size],o=M(r===2?308:151),s=M(P(e.row+a)-6-P(e.row)),c=t===this.state.selected,l=e.type===`switch`&&(this.state.values[e.state]===!0||Number(this.state.values[e.state])>0);return i(`div`,{draggable:!0,onDragStart:()=>this.setState({dragging:t,selected:t}),onDragEnd:()=>this.setState({dragging:-1}),onDragOver:e=>e.preventDefault(),onDrop:e=>{var t;e.preventDefault();let n=(t=e.currentTarget.parentElement)==null?void 0:t.getBoundingClientRect();if(n){let t=Math.min(1,Math.max(0,Math.floor((e.clientX-n.left)/M(157)))),r=Math.min(3,Math.max(0,Math.floor((e.clientY-n.top)/M(58.5))));this.moveTo(this.state.dragging,t,r)}},onClick:()=>this.setState({selected:t}),title:n.has(t)?u.t(`sd_too_many`):``,style:{position:`absolute`,left:M(N(e.col)),top:M(P(e.row)),width:o,height:s,boxSizing:`border-box`,padding:`${M(4)}px ${M(7)}px`,display:e.type===`thermostat`?`flex`:void 0,flexDirection:e.type===`thermostat`?`column`:void 0,background:l?L.tileOn:L.tile,borderRadius:M(8),color:`#fff`,cursor:`grab`,overflow:`hidden`,border:`2px solid ${c?L.accent:n.has(t)?`#EF4444`:`transparent`}`,opacity:n.has(t)?.5:1,userSelect:`none`},children:this.renderTileFace(e,o,s)},t)})]})}renderStateField(n,r,a,o){return e(g,{sx:{display:`flex`,gap:1,alignItems:`center`},children:[i(s,{variant:`standard`,fullWidth:!0,label:u.t(o),value:r[a]||``,onChange:e=>this.update(n,{[a]:e.target.value})}),i(t,{size:`small`,title:u.t(`sd_pick_state`),onClick:()=>this.setState({pickFor:a}),children:i(h,{})})]})}renderPanel(){let t=this.state.selected,r=this.tiles()[t];if(!r||!C(r.satellite,this.state.satellite))return i(_,{variant:`body2`,sx:{opacity:.7,p:1},children:u.t(`sd_hint`)});let f=this.tiles(),p=e=>e===``?``:Number(e),h=r.type===`gauge`||r.type===`bar`||r.type===`chart`||r.type===`thermostat`,y=r.type===`dimmer`?`sd_level_state`:r.type===`thermostat`?`sd_current_state`:`sd_state`;return e(g,{sx:{display:`flex`,flexDirection:`column`,gap:1.5,minWidth:260,maxWidth:360,flex:1},children:[i(o,{control:i(d,{checked:r.enabled!==!1,onChange:e=>this.update(t,{enabled:e.target.checked})}),label:u.t(`sd_active`)}),i(s,{select:!0,variant:`standard`,label:u.t(`sd_kind`),value:r.type,onChange:e=>this.changeKind(t,e.target.value),children:Object.keys(x).map(e=>i(v,{value:e,children:u.t(F[e])},e))}),e(g,{children:[i(_,{variant:`caption`,sx:{opacity:.7},children:u.t(`sd_size`)}),i(a,{exclusive:!0,size:`small`,value:r.size,sx:{display:`flex`},onChange:(e,n)=>n&&this.update(t,{size:n}),children:x[r.type].map(e=>i(l,{value:e,sx:{flex:1},disabled:e!==r.size&&!E(f,r.satellite,Number(r.page),e,r.col,r.row,t),children:I[e]},e))})]}),this.renderStateField(t,r,`state`,y),r.type===`dimmer`?this.renderStateField(t,r,`state2`,`sd_onoff_state`):null,r.type===`thermostat`?this.renderStateField(t,r,`state2`,`sd_target_state`):null,r.type===`thermostat`?this.renderStateField(t,r,`state3`,`sd_relay_state`):null,e(g,{sx:{display:`flex`,gap:1},children:[i(s,{variant:`standard`,sx:{flex:2},label:u.t(`sd_label`),placeholder:this.state.names[r.state]||``,value:r.label||``,slotProps:{htmlInput:{maxLength:24}},onChange:e=>this.update(t,{label:e.target.value})}),r.type!==`dimmer`&&r.type!==`button`&&r.type!==`switch`?i(s,{variant:`standard`,sx:{flex:1},label:u.t(`sd_unit`),value:r.unit||``,slotProps:{htmlInput:{maxLength:8}},onChange:e=>this.update(t,{unit:e.target.value})}):null]}),r.type===`button`||r.type===`switch`&&r.size===`q`?e(s,{select:!0,variant:`standard`,label:u.t(`sd_icon`),value:r.icon||``,onChange:e=>this.update(t,{icon:e.target.value}),children:[i(v,{value:``,children:`–`}),S.map(e=>i(v,{value:e,children:e},e))]}):null,r.type===`value`||h?e(g,{sx:{display:`flex`,gap:1},children:[i(s,{variant:`standard`,type:`number`,sx:{flex:1},label:u.t(`sd_decimals`),value:r.decimals??``,slotProps:{htmlInput:{min:0,max:3}},onChange:e=>this.update(t,{decimals:p(e.target.value)})}),h?e(c,{children:[i(s,{variant:`standard`,type:`number`,sx:{flex:1},label:u.t(`sd_min`),value:r.min??``,onChange:e=>this.update(t,{min:p(e.target.value)})}),i(s,{variant:`standard`,type:`number`,sx:{flex:1},label:u.t(`sd_max`),value:r.max??``,onChange:e=>this.update(t,{max:p(e.target.value)})})]}):null]}):null,r.type===`thermostat`?i(s,{variant:`standard`,type:`number`,label:u.t(`sd_step`),placeholder:`0.5`,value:r.step??``,slotProps:{htmlInput:{min:.1,step:.1}},onChange:e=>this.update(t,{step:p(e.target.value)})}):null,i(s,{select:!0,variant:`standard`,label:u.t(`sd_page`),value:Number(r.page),onChange:e=>this.changePage(t,Number(e.target.value)),children:[1,2,3,4].map(e=>i(v,{value:e,disabled:e!==Number(r.page)&&!D(f,r.satellite,e,r.size,t),children:e},e))}),i(m,{color:`error`,variant:`outlined`,startIcon:i(n,{}),onClick:()=>this.remove(t),children:u.t(`sd_delete`)})]})}renderPicker(){let e=this.state.selected,t=this.state.pickFor,n=this.tiles()[e];return!t||!n?null:i(p,{dialogName:`satelliteDisplayTile`,socket:this.props.oContext.socket,theme:this.props.oContext.theme,themeType:this.props.oContext.themeType,imagePrefix:`../..`,selected:n[t]||``,onClose:()=>this.setState({pickFor:null}),onOk:n=>{let r=Array.isArray(n)?n[0]:n;this.setState({pickFor:null}),r&&this.update(e,{[t]:r})}})}renderItem(){let t=this.satelliteNames();if(!t.length)return i(_,{sx:{p:2},children:u.t(`sd_no_satellites`)});let n=t.find(e=>C(e,this.state.satellite))||t[0],r=[1,2,3,4].map(e=>this.tiles().filter(t=>t.enabled!==!1&&C(t.satellite,n)&&Number(t.page)===e).length),o=this.tiles().filter(e=>e.enabled===!1&&C(e.satellite,n)&&Number(e.page)===this.state.page).length;return e(g,{sx:{width:`100%`},children:[e(g,{sx:{display:`flex`,gap:2,alignItems:`center`,flexWrap:`wrap`,mb:2},children:[i(s,{select:!0,variant:`standard`,label:u.t(`sd_satellite`),value:n,sx:{minWidth:180},onChange:e=>this.setState({satellite:e.target.value,selected:-1},()=>void this.readStates()),children:t.map(e=>i(v,{value:e,children:this.isConfigured(e)?e:`${e} (${u.t(`sd_not_configured`)})`},e))}),i(a,{exclusive:!0,size:`small`,value:this.state.page,onChange:(e,t)=>t&&this.setState({page:t,selected:-1},()=>void this.readStates()),children:Array.from({length:4},(e,t)=>t+1).map(t=>e(l,{value:t,children:[u.t(`sd_page`),` `,t,r[t-1]?` (${r[t-1]})`:``]},t))})]}),e(g,{sx:{display:`flex`,gap:3,alignItems:`flex-start`,flexWrap:`wrap`},children:[e(g,{children:[this.renderScreen(),e(_,{variant:`caption`,component:`div`,sx:{opacity:.7,mt:2,maxWidth:M(320)},children:[u.t(`sd_how`),o?` ${u.t(`sd_disabled_count`,o)}`:``]})]}),this.renderPanel()]}),this.renderPicker()]})}}};export{R as default};
|