iobroker.admin 7.7.2 → 7.7.15
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/LICENSE +1 -1
- package/README.md +120 -13
- package/admin/README.md +3 -0
- package/admin/admin.png +0 -0
- package/admin/i18n/de.json +1 -1
- package/admin/i18n/es.json +1 -1
- package/admin/i18n/fr.json +1 -1
- package/admin/i18n/it.json +1 -1
- package/admin/i18n/nl.json +1 -1
- package/admin/i18n/pl.json +1 -1
- package/admin/i18n/pt.json +1 -1
- package/admin/i18n/ru.json +1 -1
- package/admin/i18n/uk.json +1 -1
- package/admin/i18n/zh-cn.json +1 -1
- package/admin/jsonConfig.json5 +1 -2
- package/adminWww/assets/AdapterUpdateDialog-CJRQB5ud.js +2 -0
- package/adminWww/assets/Adapters-B5LWXJ3G.js +9 -0
- package/adminWww/assets/Config-D3mtokJQ.js +1 -0
- package/adminWww/assets/CustomModal-DCjdghJB.js +1 -0
- package/adminWww/assets/CustomTab-CBVvppVS.js +1 -0
- package/adminWww/assets/DefaultPropsProvider-BZ42HOhu.js +15 -0
- package/adminWww/assets/DefaultPropsProvider-DoV5d6EJ.js +1 -0
- package/adminWww/assets/EasyMode-CR0Vw-OT.js +1 -0
- package/adminWww/assets/Enums-BImz5cPM.js +111 -0
- package/adminWww/assets/Fields-V2W2HJlv.js +1 -0
- package/adminWww/assets/Files-Ci2XDKh8.js +6 -0
- package/adminWww/assets/FilledInput-0vrRQpr_.js +2 -0
- package/adminWww/assets/Google-FmfjVx6X.js +27 -0
- package/adminWww/assets/Hosts-AXD2lYOf.js +121 -0
- package/adminWww/assets/Instances-j88MVgOp.js +2 -0
- package/adminWww/assets/Intro-DH7_8X9J.js +2 -0
- package/adminWww/assets/Logs-BJEYaBGh.js +1 -0
- package/adminWww/assets/Objects-CeqK8jeG.js +60 -0
- package/adminWww/assets/State-DhReNijC.js +1 -0
- package/adminWww/assets/TextField-fjsX40wR.js +138 -0
- package/adminWww/assets/Users-BJgk5zRR.js +1 -0
- package/adminWww/assets/___vite-browser-external_commonjs-proxy-DMh1aSo_.js +1 -0
- package/adminWww/assets/_commonjs-dynamic-modules-TDtrdbi3.js +1 -0
- package/adminWww/assets/_commonjsHelpers-CE1G-McA.js +1 -0
- package/adminWww/assets/ace-DgO9yth5.js +985 -0
- package/adminWww/assets/assertThisInitialized-CKqanoMB.js +1 -0
- package/adminWww/assets/blueGrey-BFcAYvAO.js +29 -0
- package/adminWww/assets/{bootstrap-CrpeRPv0.css → bootstrap-DSlxhDzw.css} +1 -1
- package/adminWww/assets/bootstrap-xC60EdKn.js +303 -0
- package/adminWww/assets/createSvgIcon-CC7aIjya.js +1 -0
- package/adminWww/assets/createTheme-O_VGsRib.js +16 -0
- package/adminWww/assets/defaultTheme-CF56WVgQ.js +1 -0
- package/adminWww/assets/emotion-cache.browser.esm-BgJfNZJN.js +1 -0
- package/adminWww/assets/emotion-react.browser.esm-LdYA3M0T.js +8 -0
- package/adminWww/assets/emotion-serialize.esm-Q4o_CgeF.js +1 -0
- package/adminWww/assets/emotion-styled.browser.esm-D6u524ZG.js +1 -0
- package/adminWww/assets/emotion-use-insertion-effect-with-fallbacks.browser.esm-q3_hvwuL.js +1 -0
- package/adminWww/assets/en-US-B8gg5zk_.js +1 -0
- package/adminWww/assets/ext-language_tools-DJmHbGA8.js +389 -0
- package/adminWww/assets/geosearch.module-BN92cSpK.js +1 -0
- package/adminWww/assets/{hostInit-fzxL8JAx.js → hostInit-OBG53iVO.js} +2 -2
- package/adminWww/assets/iconBase-CB0tx1VT.js +1 -0
- package/adminWww/assets/{index-D--ojYan.js → index-28qkNZAi.js} +1 -1
- package/adminWww/assets/index-8V8iNIbi.js +5 -0
- package/adminWww/assets/{index-CJvbfjSs.js → index-B0C4gXUO.js} +1 -1
- package/adminWww/assets/index-B5NvG6mn.js +2 -0
- package/adminWww/assets/index-BVQ-ZSLt.js +10 -0
- package/adminWww/assets/index-B_eoqXoQ.js +890 -0
- package/adminWww/assets/index-Bc8bBbjM.js +15 -0
- package/adminWww/assets/{index-Co3YA5NW.js → index-BgpTxVrG.js} +1 -1
- package/adminWww/assets/{index-DTGUg51P.js → index-C73G-H4k.js} +2 -2
- package/adminWww/assets/{index-rKfs-rCa.js → index-CbQYNHIO.js} +1 -1
- package/adminWww/assets/index-ChtI58Wj.js +1 -0
- package/adminWww/assets/index-CkI9667U.js +1 -0
- package/adminWww/assets/index-DEgEIbz9.js +1 -0
- package/adminWww/assets/index-DYa0xJDK.js +1 -0
- package/adminWww/assets/index-Dy_ekAsY.js +1 -0
- package/adminWww/assets/index-d-Zo1uu9.js +55 -0
- package/adminWww/assets/{iobroker_admin__loadShare___mf_0_emotion_mf_1_react__loadShare__-BOKYvG_W.js → iobroker_admin__loadShare___mf_0_emotion_mf_1_react__loadShare__-CXogaIXO.js} +1 -1
- package/adminWww/assets/iobroker_admin__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__-D-aUnioX.js +1 -0
- package/adminWww/assets/iobroker_admin__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__-DQH_iIDO.js +1 -0
- package/adminWww/assets/iobroker_admin__loadShare___mf_0_mui_mf_1_icons_mf_2_material__loadShare__-Dy1SQ0vs.js +1 -0
- package/adminWww/assets/{iobroker_admin__loadShare__leaflet__loadShare__-h9SMNPLU.js → iobroker_admin__loadShare__leaflet__loadShare__-BfU5U5_j.js} +1 -1
- package/adminWww/assets/iobroker_admin__loadShare__prop_mf_2_types__loadShare__-CpCTEixV.js +1 -0
- package/adminWww/assets/{iobroker_admin__loadShare__react__loadShare__-Bis6NHgw.js → iobroker_admin__loadShare__react__loadShare__-CMWK8WhK.js} +1 -1
- package/adminWww/assets/iobroker_admin__loadShare__react_mf_2_dom__loadShare__-GTRt2eft.js +1 -0
- package/adminWww/assets/iobroker_admin__loadShare__react_mf_2_dropzone__loadShare__-BF_gp27r.js +1 -0
- package/adminWww/assets/iobroker_admin__mf_v__runtimeInit__mf_v__-CHE4rLsT.js +5 -0
- package/adminWww/assets/leaflet-src-B98elavC.js +4 -0
- package/adminWww/assets/locale-ZVMVA5rz.js +1 -0
- package/adminWww/assets/pl-OOhGZ0tn.js +1 -0
- package/adminWww/assets/preload-helper-BDBacUwf.js +1 -0
- package/adminWww/assets/sdk-DTP6UH26.js +15 -0
- package/adminWww/assets/sentry-C8mPNiGL.js +1 -0
- package/adminWww/assets/useTheme-C-uGEZO5.js +1 -0
- package/adminWww/assets/useTheme-UOPilb5j.js +1 -0
- package/adminWww/assets/{zh-cn-vvAC9zpl.js → zh-cn-Dy5SHo8v.js} +13 -13
- package/adminWww/img/admin.png +0 -0
- package/adminWww/index.html +4 -4
- package/adminWww/lib/js/ace/ext-searchbox.js +1 -1
- package/adminWww/lib/js/socket.io.js +7 -1
- package/adminWww/mf-manifest.json +1 -1
- package/adminWww/remoteEntry.js +2 -2
- package/build/i18n/de.json +18 -0
- package/build/i18n/es.json +18 -0
- package/build/i18n/fr.json +18 -0
- package/build/i18n/it.json +18 -0
- package/build/i18n/nl.json +18 -0
- package/build/i18n/pl.json +18 -0
- package/build/i18n/pt.json +18 -0
- package/build/i18n/ru.json +18 -0
- package/build/i18n/uk.json +18 -0
- package/build/i18n/zh-cn.json +18 -0
- package/build/lib/checkLinuxPass.js.map +1 -0
- package/{build-backend → build}/lib/testPassword.js +1 -1
- package/build/lib/testPassword.js.map +1 -0
- package/{build-backend → build}/lib/translations.js +16 -1
- package/build/lib/translations.js.map +1 -0
- package/{build-backend → build}/lib/utils.js +20 -0
- package/build/lib/utils.js.map +1 -0
- package/{build-backend → build}/lib/web.js +6 -7
- package/build/lib/web.js.map +1 -0
- package/{build-backend → build}/main.js +68 -5
- package/build/main.js.map +1 -0
- package/io-package.json +27 -40
- package/package.json +117 -110
- package/adminWww/assets/AdapterUpdateDialog-DHGhgEEq.js +0 -2
- package/adminWww/assets/Adapters-CgSIajcF.js +0 -7
- package/adminWww/assets/Config-BQSl4bfA.js +0 -1
- package/adminWww/assets/CustomModal-DNMTLv4y.js +0 -1
- package/adminWww/assets/CustomTab-Bl8S8QZW.js +0 -1
- package/adminWww/assets/DefaultPropsProvider-u5xB1Fxz.js +0 -30
- package/adminWww/assets/EasyMode-xDbqrply.js +0 -1
- package/adminWww/assets/Enums-BSICIhWI.js +0 -111
- package/adminWww/assets/Fields-C3JkTmfP.js +0 -1
- package/adminWww/assets/Files-DK85-COY.js +0 -6
- package/adminWww/assets/FilledInput-CysG4ax_.js +0 -2
- package/adminWww/assets/Hosts-qIsB4Gub.js +0 -121
- package/adminWww/assets/Instances-BA_DCzs8.js +0 -2
- package/adminWww/assets/Intro-00oh6SLw.js +0 -2
- package/adminWww/assets/Logs-Cvpgh-zN.js +0 -1
- package/adminWww/assets/Objects-Dp71iotS.js +0 -60
- package/adminWww/assets/State-BqfD2ABf.js +0 -1
- package/adminWww/assets/Tabs-sxfWgN0b.js +0 -138
- package/adminWww/assets/Users-CDcWqTfZ.js +0 -1
- package/adminWww/assets/_commonjsHelpers-D6-XlEtG.js +0 -1
- package/adminWww/assets/ace-BG5WYul1.js +0 -985
- package/adminWww/assets/blueGrey-DYsiMDOn.js +0 -29
- package/adminWww/assets/bootstrap-BYQTdf9r.js +0 -2024
- package/adminWww/assets/createSvgIcon-Bh3KWtyp.js +0 -1
- package/adminWww/assets/emotion-cache.browser.esm-B8BFze5o.js +0 -1
- package/adminWww/assets/emotion-react.browser.esm-BCDt9NrH.js +0 -8
- package/adminWww/assets/emotion-serialize.esm-BUa21YfQ.js +0 -1
- package/adminWww/assets/emotion-styled.browser.esm-CyFqGgyG.js +0 -1
- package/adminWww/assets/emotion-utils.browser.esm-pglN4_eI.js +0 -1
- package/adminWww/assets/geosearch.module-DH4NhiPj.js +0 -1
- package/adminWww/assets/iconBase-C3vi24ZE.js +0 -1
- package/adminWww/assets/index-B1ITPhEY.js +0 -7
- package/adminWww/assets/index-C_-7Z7UV.js +0 -1
- package/adminWww/assets/index-D3IAEXXP.js +0 -10
- package/adminWww/assets/index-DPDg2YA0.js +0 -1
- package/adminWww/assets/index-Qa7Q_Dz5.js +0 -1
- package/adminWww/assets/index-qcIeekse.js +0 -55
- package/adminWww/assets/index-wN1ZlPSW.js +0 -2
- package/adminWww/assets/iobroker_admin__loadShare__prop_mf_2_types__loadShare__-BnsS7SOQ.js +0 -1
- package/adminWww/assets/iobroker_admin__mf_v__runtimeInit__mf_v__-CTkuGOOk.js +0 -5
- package/adminWww/assets/leaflet-src-A2ZHl6nF.js +0 -4
- package/adminWww/assets/locale-9HzB0nxi.js +0 -1
- package/adminWww/assets/preload-helper-Dp1pzeXC.js +0 -1
- package/adminWww/assets/sentry-H_UdJ2zx.js +0 -1
- package/adminWww/lib/js/crypto-js/aes.js +0 -234
- package/adminWww/lib/js/crypto-js/blowfish.js +0 -471
- package/adminWww/lib/js/crypto-js/bower.json +0 -39
- package/adminWww/lib/js/crypto-js/cipher-core.js +0 -895
- package/adminWww/lib/js/crypto-js/core.js +0 -807
- package/adminWww/lib/js/crypto-js/crypto-js.js +0 -6657
- package/adminWww/lib/js/crypto-js/docs/QuickStartGuide.wiki +0 -470
- package/adminWww/lib/js/crypto-js/enc-base64.js +0 -136
- package/adminWww/lib/js/crypto-js/enc-base64url.js +0 -148
- package/adminWww/lib/js/crypto-js/enc-hex.js +0 -18
- package/adminWww/lib/js/crypto-js/enc-latin1.js +0 -18
- package/adminWww/lib/js/crypto-js/enc-utf16.js +0 -149
- package/adminWww/lib/js/crypto-js/enc-utf8.js +0 -18
- package/adminWww/lib/js/crypto-js/evpkdf.js +0 -134
- package/adminWww/lib/js/crypto-js/format-hex.js +0 -66
- package/adminWww/lib/js/crypto-js/format-openssl.js +0 -18
- package/adminWww/lib/js/crypto-js/hmac-md5.js +0 -18
- package/adminWww/lib/js/crypto-js/hmac-ripemd160.js +0 -18
- package/adminWww/lib/js/crypto-js/hmac-sha1.js +0 -18
- package/adminWww/lib/js/crypto-js/hmac-sha224.js +0 -18
- package/adminWww/lib/js/crypto-js/hmac-sha256.js +0 -18
- package/adminWww/lib/js/crypto-js/hmac-sha3.js +0 -18
- package/adminWww/lib/js/crypto-js/hmac-sha384.js +0 -18
- package/adminWww/lib/js/crypto-js/hmac-sha512.js +0 -18
- package/adminWww/lib/js/crypto-js/hmac.js +0 -143
- package/adminWww/lib/js/crypto-js/index.js +0 -18
- package/adminWww/lib/js/crypto-js/lib-typedarrays.js +0 -76
- package/adminWww/lib/js/crypto-js/md5.js +0 -268
- package/adminWww/lib/js/crypto-js/mode-cfb.js +0 -80
- package/adminWww/lib/js/crypto-js/mode-ctr-gladman.js +0 -116
- package/adminWww/lib/js/crypto-js/mode-ctr.js +0 -58
- package/adminWww/lib/js/crypto-js/mode-ecb.js +0 -40
- package/adminWww/lib/js/crypto-js/mode-ofb.js +0 -54
- package/adminWww/lib/js/crypto-js/package.json +0 -42
- package/adminWww/lib/js/crypto-js/pad-ansix923.js +0 -49
- package/adminWww/lib/js/crypto-js/pad-iso10126.js +0 -44
- package/adminWww/lib/js/crypto-js/pad-iso97971.js +0 -40
- package/adminWww/lib/js/crypto-js/pad-nopadding.js +0 -30
- package/adminWww/lib/js/crypto-js/pad-pkcs7.js +0 -18
- package/adminWww/lib/js/crypto-js/pad-zeropadding.js +0 -47
- package/adminWww/lib/js/crypto-js/pbkdf2.js +0 -145
- package/adminWww/lib/js/crypto-js/rabbit-legacy.js +0 -190
- package/adminWww/lib/js/crypto-js/rabbit.js +0 -192
- package/adminWww/lib/js/crypto-js/rc4.js +0 -139
- package/adminWww/lib/js/crypto-js/ripemd160.js +0 -267
- package/adminWww/lib/js/crypto-js/sha1.js +0 -150
- package/adminWww/lib/js/crypto-js/sha224.js +0 -80
- package/adminWww/lib/js/crypto-js/sha256.js +0 -199
- package/adminWww/lib/js/crypto-js/sha3.js +0 -326
- package/adminWww/lib/js/crypto-js/sha384.js +0 -83
- package/adminWww/lib/js/crypto-js/sha512.js +0 -326
- package/adminWww/lib/js/crypto-js/tripledes.js +0 -779
- package/adminWww/lib/js/crypto-js/x64-core.js +0 -304
- package/build-backend/i18n/de.json +0 -18
- package/build-backend/i18n/es.json +0 -18
- package/build-backend/i18n/fr.json +0 -18
- package/build-backend/i18n/it.json +0 -18
- package/build-backend/i18n/nl.json +0 -18
- package/build-backend/i18n/pl.json +0 -18
- package/build-backend/i18n/pt.json +0 -18
- package/build-backend/i18n/ru.json +0 -18
- package/build-backend/i18n/uk.json +0 -18
- package/build-backend/i18n/zh-cn.json +0 -18
- package/build-backend/lib/checkLinuxPass.js.map +0 -1
- package/build-backend/lib/testPassword.js.map +0 -1
- package/build-backend/lib/translations.js.map +0 -1
- package/build-backend/lib/utils.js.map +0 -1
- package/build-backend/lib/web.js.map +0 -1
- package/build-backend/main.js.map +0 -1
- /package/{build-backend → build}/i18n/en.json +0 -0
- /package/{build-backend → build}/lib/checkLinuxPass.js +0 -0
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2014-
|
|
3
|
+
Copyright (c) 2014-2025 bluefox <dogafox@gmail.com>
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<img src="admin/admin.svg" width="100" height="100" />
|
|
1
|
+
<img src="packages/admin/admin/admin.svg" width="100" height="100" />
|
|
2
2
|
|
|
3
3
|
# ioBroker.admin
|
|
4
4
|
|
|
@@ -77,6 +77,75 @@ You can add the following lines into Reverse Proxy tab to let Intro tab run behi
|
|
|
77
77
|
|
|
78
78
|
So all links of instances that use web server, like `eventlist`, `vis`, `material` and so on will use `https://iobroker.mydomain.com/ioBrokerWeb/` path
|
|
79
79
|
|
|
80
|
+
### Extended reverse proxy example (with screenshots)
|
|
81
|
+
|
|
82
|
+
Below is a more complete example showing how a reverse proxy (e.g. Nginx Proxy Manager) can be configured and how the Admin UI resolves links after mapping.
|
|
83
|
+
|
|
84
|
+
> NOTE: At the moment the admin UI itself still needs to be effectively served from the web root `/` of the host. login and other hardcoded urls do not yet respect another base path (see limitation discussion here: https://github.com/ioBroker/ioBroker.admin/issues/1660#issuecomment-2360056439).
|
|
85
|
+
|
|
86
|
+
#### 1. Base host / root mapping
|
|
87
|
+
|
|
88
|
+
Map the public root (or a dedicated host like `https://iobroker.example.com/`) directly to your Admin instance (default port 8081):
|
|
89
|
+
|
|
90
|
+
<img src="assets/revproxy_nginxpm_root.png" alt="Nginx Proxy Manager: root mapping to admin" width="640" />
|
|
91
|
+
|
|
92
|
+
#### 2. Custom locations for other services
|
|
93
|
+
|
|
94
|
+
Add additional custom locations for web / REST / other adapter frontends. Each location forwards to the respective local port (e.g. web.0 on 8082, rest-api.0 on 8093):
|
|
95
|
+
|
|
96
|
+
<img src="assets/revproxy_nginxpm_customlocations.png" alt="Nginx Proxy Manager: custom locations" width="640" />
|
|
97
|
+
|
|
98
|
+
Example custom locations (Nginx style):
|
|
99
|
+
```
|
|
100
|
+
/location /web/ => http://LOCAL_IOBROKER_IP:8082/
|
|
101
|
+
/location /welcome/ => http://LOCAL_IOBROKER_IP:1234/
|
|
102
|
+
/location /esphome/ => http://LOCAL_IOBROKER_IP:6052/
|
|
103
|
+
```
|
|
104
|
+
(Adjust paths/ports for your environment.)
|
|
105
|
+
|
|
106
|
+
#### 3. Configure mappings in Admin Reverse Proxy tab
|
|
107
|
+
|
|
108
|
+
Enter the same paths so that Intro / Instances pages rewrite adapter links correctly:
|
|
109
|
+
|
|
110
|
+
| Global path | Instance | Instance path behind proxy |
|
|
111
|
+
|-------------|--------------|----------------------------|
|
|
112
|
+
| `/` | `web.0` | `/web/` |
|
|
113
|
+
| | `rest-api.0` | `/api/` |
|
|
114
|
+
| | `esphome.0` | `/esphome/` |
|
|
115
|
+
|
|
116
|
+
> If you keep Admin on `/` you usually do not need to list `admin.0`, but adding it does not hurt and can make intent explicit.
|
|
117
|
+
|
|
118
|
+
After saving, the Intro screen rewrites links so that all web‑served adapters open under the correct prefixed paths:
|
|
119
|
+
|
|
120
|
+
<img src="assets/revproxy_admin.png" alt="Admin Intro page after reverse proxy mapping" width="640" />
|
|
121
|
+
|
|
122
|
+
#### 4. Limitations & compatibility
|
|
123
|
+
|
|
124
|
+
* Admin root requirement: As stated above, full relocation of Admin itself under a sub‑path (e.g. `/admin/`) is not yet supported.
|
|
125
|
+
* Adapter path awareness: Not every adapter UI is currently path‑aware. While generic `localLink` rewriting covers many cases, some UIs still assume they are hosted at the domain root. Known examples:
|
|
126
|
+
* `vis` (classic) – NOT fully working behind a sub‑path today.
|
|
127
|
+
* `vis-2` – generally more path tolerant, but custom widgets or legacy resources may still use absolute paths.
|
|
128
|
+
* Any adapter serving hard‑coded absolute URLs (starting with `/`) may need manual fixes until updated upstream.
|
|
129
|
+
* Mixed content: If you terminate TLS at the proxy (HTTPS) but contact adapters over HTTP internally, make sure all external links are rewritten to HTTPS to avoid browser mixed-content blocks.
|
|
130
|
+
* WebSocket forwarding: Ensure `Upgrade` and `Connection` headers are passed through. In Nginx, this typically means adding:
|
|
131
|
+
```
|
|
132
|
+
proxy_set_header Upgrade $http_upgrade;
|
|
133
|
+
proxy_set_header Connection "upgrade";
|
|
134
|
+
```
|
|
135
|
+
(old checking the websocket support box, if using proxy manager)
|
|
136
|
+
* Trailing slashes: Always keep a trailing slash in the mapped path (e.g. `/web/`) and location, so nginx does path rewriting.
|
|
137
|
+
This makes simple cases like the welcome adapter above work, because it only sees a / path -> correctly serves its index.html.
|
|
138
|
+
|
|
139
|
+
#### 5. Quick troubleshooting checklist
|
|
140
|
+
|
|
141
|
+
| Symptom | Likely cause | Action |
|
|
142
|
+
|------------------------------------|--------------------------------------|-------------------------------------------------------|
|
|
143
|
+
| Blank or partial Admin UI | Admin mounted under sub‑path only | Keep Admin at `/` (see limitation) |
|
|
144
|
+
| Adapter link opens wrong host/port | Missing entry in Reverse Proxy tab | Add mapping row and save |
|
|
145
|
+
| 404 for adapter JS/CSS | Missing trailing slash in location | Add trailing slash to location and mapping |
|
|
146
|
+
| WebSocket errors in console | Proxy not forwarding upgrade headers | Add `proxy_set_header Upgrade` / `Connection` headers |
|
|
147
|
+
| vis UI broken | Adapter not path‑aware | Keep on root or wait for adapter update |
|
|
148
|
+
|
|
80
149
|
## Used icons
|
|
81
150
|
|
|
82
151
|
This project uses icons from [Flaticon](https://www.flaticon.com/).
|
|
@@ -84,11 +153,59 @@ This project uses icons from [Flaticon](https://www.flaticon.com/).
|
|
|
84
153
|
ioBroker GmbH has a valid license for all used icons.
|
|
85
154
|
The icons may not be reused in other projects without the proper flaticon license or flaticon subscription.
|
|
86
155
|
|
|
87
|
-
|
|
156
|
+
## Changelog
|
|
88
157
|
<!--
|
|
89
158
|
### **WORK IN PROGRESS**
|
|
90
159
|
-->
|
|
91
|
-
### 7.7.
|
|
160
|
+
### 7.7.15 (2025-10-23)
|
|
161
|
+
- (@GermanBluefox) Improvement of categories: drag&drop, visibility
|
|
162
|
+
- (@copilot) Added missing filterFunc property to jsonConfig objectId schema to match documentation and implementation
|
|
163
|
+
- (@copilot, @SimonFischer04) Added extended reverse proxy example section with screenshots, limitations (admin root requirement), and adapter compatibility notes
|
|
164
|
+
- (@copilot, @SimonFischer04) Fixed instances page reverse proxy link mapping so adapter localLinks are rewritten to the configured proxy paths (prefix matching + web port replacement, with duplicate link collapse)
|
|
165
|
+
- (@copilot, @SimonFischer04) Fixed intro page reverse proxy link remapping so links are correctly rewritten immediately and after navigating away and back (load reverseProxy config before instance scan and use prefix startsWith matching)
|
|
166
|
+
- (@GermanBluefox) Fixed multi-selection in the select ID dialog
|
|
167
|
+
|
|
168
|
+
### 7.7.3 (2025-09-25)
|
|
169
|
+
- Many GUI changes: See previous changelog below for details
|
|
170
|
+
|
|
171
|
+
### 7.7.2 (2025-09-24)
|
|
172
|
+
- (@copilot) Fixed JSONCONFIG table validator bug where validation errors persisted after deleting table rows
|
|
173
|
+
- (@GermanBluefox) Made small fix for JsonConfig component `state`
|
|
174
|
+
- (@copilot) Fixed repository refresh issue: repositories are now automatically refreshed when switching repository source (stable/latest) without requiring manual "Check for updates"
|
|
175
|
+
- (@copilot) Added CSV file editing support in file browser - CSV files can now be edited directly in the file manager
|
|
176
|
+
- (@copilot) Implemented sortable columns for instances table (name, status, memory, ID, host, loglevel)
|
|
177
|
+
- (@copilot) Fixed adapter license icon linking to use commercial license URL instead of GitHub license
|
|
178
|
+
- (@copilot) Fixed license icon spacing in list view to maintain consistent layout
|
|
179
|
+
- (@GermanBluefox) Allows entering minus values with JsonConfig number component
|
|
180
|
+
- (@copilot) Fixed textIP checkbox inconsistency between Objects and States tabs for the same host configuration
|
|
181
|
+
- (@GermanBluefox) Added icon to `www` folder for windows
|
|
182
|
+
- (@copilot) Confirmed and documented Copilot issue handling guidelines: PRs use neutral language (no "fixes" keywords), issues closed manually by maintainers, and "fixed" labels added when appropriate
|
|
183
|
+
- (@copilot) Enhanced Copilot instructions to make issue management policy more prominent - no auto-closing issues, manual validation required
|
|
184
|
+
- (@copilot) Enhanced repository timestamp display to show both generated and read timestamps - shows when repository data was generated and when it was last read by admin backend
|
|
185
|
+
- (@copilot) Fixed jsonConfig port validation to properly account for bind addresses, allowing the same port on different IP addresses
|
|
186
|
+
- (@copilot) Added error indicators to JSON Config tabs and accordions to improve the visibility of validation errors
|
|
187
|
+
- (@copilot) Added export/import functionality for accordion sections in JsonConfig allowing users to save accordion data as JSON files and import them back with replace or add options
|
|
188
|
+
- (@copilot) Fixed time difference warning that incorrectly appeared when the browser tab was inactive for a while
|
|
189
|
+
- (@copilot) For GitHub-installed adapters, show version + commit hash instead of just version
|
|
190
|
+
- (@copilot) Fixed table export error when table items contain null values
|
|
191
|
+
- (@copilot) Object Browser: Added formatted duration display for values with role "value.duration" - shows time durations in HH:mm:ss format instead of raw seconds
|
|
192
|
+
- (@copilot) Enhanced GitHub Actions to skip tests when only README.md is changed, speeding up CI for Copilot PRs (tested with mixed file changes)
|
|
193
|
+
- (@GermanBluefox) Added the docker checker in JSON config
|
|
194
|
+
- (@copilot) Fixed js-controller update notifications to use "The js-controller" instead of "Adapter js-controller"
|
|
195
|
+
- (@copilot) Fixed JSONConfig sendTo jsonData attribute parser problem where backslashes (\) in text inputs caused JSON parsing errors
|
|
196
|
+
- (@copilot) Fixed step type behavior in chart display - "Schritte" now shows value until next point (step after) instead of step before
|
|
197
|
+
- (@copilot) Added all three-step type options (stepStart, stepMiddle, stepEnd) to chart display with clearer descriptions
|
|
198
|
+
- (@copilot) Fixed React error #62 in the Files tab caused by malformed CSS calc() function
|
|
199
|
+
- (@copilot) Added loading indicator to JSONConfig autocompleteSendTo component during sendTo operations
|
|
200
|
+
- (@copilot) Mark adapters removed from repository with "not maintained" text instead of empty version field
|
|
201
|
+
- (@copilot) Enhanced responsive design: modals and popups now use full screen on xs and sm breakpoints
|
|
202
|
+
- (@copilot) Added logout dropdown menu to user icon for improved user experience
|
|
203
|
+
- (@copilot) Updated OAuth2 documentation in DEVELOPER.md to include both cloud-based and direct callback approaches with clear guidance on when to use each method
|
|
204
|
+
- (@copilot) Only show adapters with satisfied dependencies in update all dialog
|
|
205
|
+
- (@copilot) Added new `readOnly` attribute for jsonEditor in jsonConfig - allows opening the editor to view JSON content without allowing modifications
|
|
206
|
+
- (@GermanBluefox) Reading of same instances was optimized in GUI
|
|
207
|
+
- (@GermanBluefox) Do not show the http page if admin is secured
|
|
208
|
+
- (@GermanBluefox) Show loading progress for custom tabs
|
|
92
209
|
- (@GermanBluefox) Fixing change of the language in the admin
|
|
93
210
|
|
|
94
211
|
### 7.7.1 (2025-06-20)
|
|
@@ -97,16 +214,6 @@ The icons may not be reused in other projects without the proper flaticon licens
|
|
|
97
214
|
### 7.7.0 (2025-06-17)
|
|
98
215
|
- (@foxriver76) Added the concept for single-side-on authentication (SSO)
|
|
99
216
|
|
|
100
|
-
### 7.6.20 (2025-06-16)
|
|
101
|
-
- (@GermanBluefox) Allowed using of * in the filter of objects
|
|
102
|
-
- (@GermanBluefox) Small GUI improvements
|
|
103
|
-
|
|
104
|
-
### 7.6.19 (2025-06-08)
|
|
105
|
-
|
|
106
|
-
- (@GermanBluefox) Improvements on JSONConfig component `state`
|
|
107
|
-
- (@GermanBluefox) Added `infoBox` JSONConfig component
|
|
108
|
-
- (@Jey-Cee) Added the room selection to the wizard
|
|
109
|
-
|
|
110
217
|
## License
|
|
111
218
|
|
|
112
219
|
The MIT License (MIT)
|
package/admin/README.md
ADDED
package/admin/admin.png
CHANGED
|
Binary file
|
package/admin/i18n/de.json
CHANGED
|
@@ -89,4 +89,4 @@
|
|
|
89
89
|
"tooltip_thresholdValue": "Wenn der Browser in 3 Sekunden zu viele Ereignisse empfängt, wird das Aktualisieren der Daten vorübergehend beendet",
|
|
90
90
|
"tooltip_ttl": "Nach dieser Zeit wird ein inaktiver Benutzer ausgeloggt.",
|
|
91
91
|
"users permissions": "Benutzerberechtigungen"
|
|
92
|
-
}
|
|
92
|
+
}
|
package/admin/i18n/es.json
CHANGED
|
@@ -89,4 +89,4 @@
|
|
|
89
89
|
"tooltip_thresholdValue": "Si el explorador recibe muchos eventos en 3 segundos, se detiene la actualización",
|
|
90
90
|
"tooltip_ttl": "Tiempo de espera de inicio de sesión. Después de ese tiempo, el usuario se desconectar automáticamente.",
|
|
91
91
|
"users permissions": "permisos de usuario"
|
|
92
|
-
}
|
|
92
|
+
}
|
package/admin/i18n/fr.json
CHANGED
package/admin/i18n/it.json
CHANGED
|
@@ -89,4 +89,4 @@
|
|
|
89
89
|
"tooltip_thresholdValue": "Se il browser riceve troppi eventi in 3 secondi, l'aggiornamento verrà interrotto",
|
|
90
90
|
"tooltip_ttl": "Timeout di login. Dopo questo tempo l'utente sarà disconnesso automaticamente.",
|
|
91
91
|
"users permissions": "Permessi degli utenti"
|
|
92
|
-
}
|
|
92
|
+
}
|
package/admin/i18n/nl.json
CHANGED
|
@@ -89,4 +89,4 @@
|
|
|
89
89
|
"tooltip_thresholdValue": "Als de browser te veel gebeurtenissen binnen 3 seconden ontvangt, wordt de update gestopt",
|
|
90
90
|
"tooltip_ttl": "Time-out aanmelding. Na deze tijd zal de gebruiker automatisch uitloggen.",
|
|
91
91
|
"users permissions": "gebruikersrechten"
|
|
92
|
-
}
|
|
92
|
+
}
|
package/admin/i18n/pl.json
CHANGED
|
@@ -89,4 +89,4 @@
|
|
|
89
89
|
"tooltip_thresholdValue": "jeśli przeglądarka otrzyma zbyt wiele zdarzeń w ciągu 3 sekund, aktualizacja zostanie zatrzymana",
|
|
90
90
|
"tooltip_ttl": "Limit czasu logowania. Po tym czasie użytkownik zostanie automatycznie wylogowany.",
|
|
91
91
|
"users permissions": "uprawnienia użytkowników"
|
|
92
|
-
}
|
|
92
|
+
}
|
package/admin/i18n/pt.json
CHANGED
|
@@ -89,4 +89,4 @@
|
|
|
89
89
|
"tooltip_thresholdValue": "Se o navegador receber muitos eventos em 3 segundos, a atualização será interrompida",
|
|
90
90
|
"tooltip_ttl": "Tempo limite de login. Após esse tempo, o usuário será automaticamente desconectado.",
|
|
91
91
|
"users permissions": "permissões de usuários"
|
|
92
|
-
}
|
|
92
|
+
}
|
package/admin/i18n/ru.json
CHANGED
package/admin/i18n/uk.json
CHANGED
|
@@ -89,4 +89,4 @@
|
|
|
89
89
|
"tooltip_thresholdValue": "Якщо браузер отримує занадто багато подій і оновлень даних протягом 3 секунд, оновлення даних буде тимчасово припинено",
|
|
90
90
|
"tooltip_ttl": "Тривалість входу в систему. Після закінчення цього часу користувач автоматично вийде з системи.",
|
|
91
91
|
"users permissions": "Дозволи користувачів"
|
|
92
|
-
}
|
|
92
|
+
}
|
package/admin/i18n/zh-cn.json
CHANGED
package/admin/jsonConfig.json5
CHANGED
|
@@ -20,7 +20,6 @@
|
|
|
20
20
|
port: {
|
|
21
21
|
type: 'port',
|
|
22
22
|
min: 1,
|
|
23
|
-
max: 65565,
|
|
24
23
|
label: 'Port',
|
|
25
24
|
xs: 12,
|
|
26
25
|
sm: 12,
|
|
@@ -273,7 +272,7 @@
|
|
|
273
272
|
sm: 12,
|
|
274
273
|
md: 8,
|
|
275
274
|
lg: 4,
|
|
276
|
-
accept: 'image/png',
|
|
275
|
+
accept: { 'image/png': [] },
|
|
277
276
|
label: 'Upload image',
|
|
278
277
|
crop: true,
|
|
279
278
|
},
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as t}from"./DefaultPropsProvider-BZ42HOhu.js";import{i as y}from"./iobroker_admin__loadShare__react__loadShare__-CMWK8WhK.js";import{s as f,k as C}from"./bootstrap-xC60EdKn.js";import{h as T}from"./zh-cn-Dy5SHo8v.js";import{i as s,a as u}from"./iobroker_admin__loadShare___mf_0_mui_mf_1_icons_mf_2_material__loadShare__-Dy1SQ0vs.js";import{i as k}from"./iobroker_admin__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__-D-aUnioX.js";import{S as D}from"./State-DhReNijC.js";const a={closeButton:l=>({position:"absolute",right:8,top:8,color:l.palette.grey[500]}),languageButton:{position:"absolute",right:60,top:8},languageButtonActive:l=>({color:l.palette.primary.main}),typography:{paddingRight:30},version:l=>({background:"#4dabf5",borderRadius:"3px",pl:"10px",fontWeight:"bold",color:l.palette.mode==="dark"?"black":"white"}),wrapperButton:{"@media screen and (max-width: 465px)":{"& *":{fontSize:10}},"@media screen and (max-width: 380px)":{"& *":{fontSize:9}}},messageText:{},messageIcon:{width:32,height:32,marginRight:8},messageColor_warn:{color:"#cb7642"},messageColor_error:{color:"#f5614d"},messageColor_info:{color:"#5abd29"},messageTitle_warn:l=>({background:"#cb7642",borderRadius:"3px",pl:"10px",fontWeight:"bold",color:l.palette.mode==="dark"?"black":"white"}),messageTitle_error:l=>({background:"#f5614d",borderRadius:"3px",pl:"10px",fontWeight:"bold",color:l.palette.mode==="dark"?"black":"white"}),messageTitle_info:l=>({background:"#5abd29",borderRadius:"3px",pl:"10px",fontWeight:"bold",color:l.palette.mode==="dark"?"black":"white"}),messageDialogText:{fontSize:18},messageDialogTitle:{},versionTime:{fontSize:"smaller",opacity:.5,marginLeft:4},dialogPaper:{maxWidth:880},repoStableVersionText:l=>({color:l.palette.mode==="dark"?"#8dff7a":"#2b9800",fontWeight:"bold",marginLeft:"4px"}),repoLatestVersionText:l=>({color:l.palette.mode==="dark"?"#a3fcff":"#005498",fontWeight:"bold",marginLeft:"4px"})};function I(l,e,p,r){let c=null;return l&&l.forEach(i=>{var m,_;let d=!((m=i.condition)!=null&&m.rules);if((_=i.condition)!=null&&_.rules){const j=(Array.isArray(i.condition.rules)?i.condition.rules:[i.condition.rules]).map(o=>{let n,h,g;if(o.includes("oldVersion"))n=e,o=o.substring(10);else if(o.includes("newVersion"))n=p,o=o.substring(10);else{if(o==="installed")return!!e;if(o==="!"||o==="not-installed")return!e;if(r){const w=o.match(/([a-z][-a-z_0-9]+)([!=<>]+)([.\d]+)/);if(w){const x=Object.keys(r).find(b=>{var v;return((v=r[b])==null?void 0:v.name)===w[1]});if(x){n=r[x].version,h=w[2],g=w[3];try{return h==="=="?f.eq(n,g):h===">"?f.gt(n,g):h==="<"?f.lt(n,g):h===">="?f.gte(n,g):h==="<="?f.lte(n,g):h==="!="?f.neq(n,g):(console.warn(`Unknown rule ${n}${o}`),!1)}catch{return console.warn(`Cannot compare ${n}${o}`),!1}}}else if(o.match(/^[!=<>]+/)){if(o.startsWith("!")){const x=o.substring(1);if(!Object.keys(r).find(b=>{var v;return((v=r[b])==null?void 0:v.name)===x}))return!0}}else if(Object.keys(r).find(x=>{var b;return((b=r[x])==null?void 0:b.name)===o}))return!0;return!1}}o[1]>="0"&&o[1]<="9"?(h=o[0],g=o.substring(1)):(h=o.substring(0,2),g=o.substring(2));try{if(h==="==")return f.eq(n,g);if(h===">")return f.gt(n,g);if(h==="<")return f.lt(n,g);if(h===">=")return f.gte(n,g);if(h==="<=")return f.lte(n,g);if(h==="!=")return f.neq(n,g);console.warn(`Unknown rule ${n}${o}`)}catch{console.warn(`Cannot compare ${n}${o}`)}return!1});i.condition.operand==="or"?d=j.find(o=>o):d=j.findIndex(o=>!o)===-1}d&&(c||=[],c.push({title:i.title,text:i.text,link:i.link,linkText:i.linkText,buttons:i.buttons,level:i.level}))}),c}class W extends y.Component{t;mobile;messages;lang;constructor(e){var r,c;super(e),this.t=e.t,this.mobile=window.innerWidth<C,this.state={showMessageDialog:!1};const p=!1;this.messages=I(((r=this.props.adapterObject)==null?void 0:r.messages)||p,this.props.installedVersion,(c=this.props.adapterObject)==null?void 0:c.version,this.props.instances),this.lang=k.I18n.getLanguage(),T.locale(this.lang)}getDependencies(){return(this.props.dependencies||[]).map(e=>t.jsx(D,{state:e.rightVersion,children:`${e.name}${e.version?` (${e.version})`:""}: ${e.installed?e.installedVersion:"-"}`},e.name))}getNews(){var c;const e=[];let p,r;return this.props.isStable!==void 0&&(this.props.isStable?(p=this.props.adapterObject.version,r=this.props.adapterObject.latestVersion):(p=this.props.adapterObject.stable,r=this.props.adapterObject.version)),(c=this.props.news)==null||c.forEach(i=>{var m,_,j;const d=(i.news?i.news.split(`
|
|
2
|
+
`):[]).map(o=>o.trim().replace(/^\*\s*/,"").replace(/<!--[^>]*->/,"").replace(/<! -[^>]*->/,"").replace(/<!--|--!?>/g,"").trim()).filter(o=>!!o);(m=this.props.adapterObject)!=null&&m.version&&i.version&&f.gt(i.version,(_=this.props.adapterObject)==null?void 0:_.version)||e.push(t.jsxs(s.Grid2,{children:[t.jsxs(s.Typography,{sx:a.version,children:[i.version,r&&r===i.version?t.jsx(s.Box,{component:"span",sx:a.repoLatestVersionText,children:"(latest)"}):null,p&&p===i.version?t.jsx(s.Box,{component:"span",sx:a.repoStableVersionText,children:`(${k.I18n.t("stable")})`}):null,((j=this.props.adapterObject)==null?void 0:j.version)===i.version?t.jsxs("span",{style:a.versionTime,children:["(",T(this.props.adapterObject.versionDate).fromNow(),")"]}):null]}),d.map((o,n)=>t.jsx(s.Typography,{component:"div",variant:"body2",children:`• ${o}`},`${i.version}-${n}`))]},i.version))}),e}getText(e,p){return e&&typeof e=="object"?p?e.en:e[this.lang]||e.en:typeof e=="object"?"":e}renderOneMessage(e,p){return t.jsxs(s.Grid2,{children:[t.jsx(s.Typography,{sx:a[`messageTitle_${e.level||"warn"}`],children:this.getText(e.title,this.props.noTranslation)||""}),t.jsx(s.Typography,{component:"div",variant:"body2",style:a.messageText,children:this.getText(e.text,this.props.noTranslation)||""}),e.link?t.jsx(s.Button,{onClick:()=>{window.open(e.link,"_blank").focus()},startIcon:t.jsx(u.Public,{}),variant:"contained",color:"grey",children:this.getText(e.linkText,this.props.noTranslation)||this.props.t("More info")}):null]},p)}renderMessages(){return this.messages?t.jsx(s.Grid2,{container:!0,spacing:2,direction:"column",wrap:"nowrap",sx:{marginBottom:1},children:this.messages.map((e,p)=>this.renderOneMessage(e,p))}):null}renderMessageDialog(){var r;if(!this.state.showMessageDialog)return null;const e=this.messages.find(c=>c.buttons),p=(r=this.props.adapterObject)==null?void 0:r.version;return t.jsxs(s.Dialog,{onClose:()=>this.setState({showMessageDialog:!1}),open:!0,children:[t.jsx(s.DialogTitle,{style:a.messageDialogTitle,children:this.getText(e.title,this.props.noTranslation)||this.props.t("Please confirm")}),t.jsxs(s.DialogContent,{style:a.messageDialogText,children:[e.level==="warn"?t.jsx(u.Warning,{style:{...a.messageIcon,...a.messageColor_warn}}):null,e.level==="error"?t.jsx(u.Error,{style:{...a.messageIcon,...a.messageColor_error}}):null,e.level==="info"?t.jsx(u.Info,{style:{...a.messageIcon,...a.messageColor_info}}):null,this.getText(e.text,this.props.noTranslation)]}),t.jsxs(s.DialogActions,{children:[e.link?t.jsx(s.Button,{onClick:()=>{window.open(e.link,"_blank").focus()},startIcon:t.jsx(u.Public,{}),variant:"contained",color:"secondary",children:this.getText(e.linkText,this.props.noTranslation)||this.props.t("More info")}):null,e.link?t.jsx("div",{style:{flexGrow:1}}):null,e.buttons.map((c,i)=>c==="ok"?t.jsx(s.Button,{variant:"contained",onClick:()=>this.setState({showMessageDialog:!1},()=>this.props.onUpdate(p)),color:"primary",startIcon:t.jsx(u.Check,{}),children:this.t("Update")},i):c==="agree"?t.jsx(s.Button,{sx:a[`messageTitle_${e.level||"warn"}`],variant:"contained",onClick:()=>this.setState({showMessageDialog:!1},()=>this.props.onUpdate(p)),color:"primary",startIcon:t.jsx(u.Check,{}),children:this.t("Agree")},i):c==="cancel"?t.jsx(s.Button,{variant:"contained",onClick:()=>this.setState({showMessageDialog:!1}),startIcon:t.jsx(u.Close,{}),color:"grey",children:this.t("Cancel")},i):null)]})]})}render(){var c,i;const e=(c=this.props.adapterObject)==null?void 0:c.version,p=(i=this.props.news)==null?void 0:i.every(d=>d.downloaded),r=this.getNews();return t.jsxs(s.Dialog,{onClose:this.props.onClose,open:!0,sx:{"& .MuiDialog-paper":a.dialogPaper},children:[this.renderMessageDialog(),t.jsx(s.DialogTitle,{children:t.jsxs(s.Typography,{component:"h2",variant:"h6",sx:{"&.MuiTypography-root":a.typography},children:[t.jsx("div",{style:{width:"calc(100% - 60px)"},children:this.t('Update "%s" to v%s',this.props.adapter,e)}),t.jsx(s.IconButton,{size:"large",sx:a.closeButton,onClick:this.props.onClose,children:t.jsx(u.Close,{})}),this.lang!=="en"&&this.props.toggleTranslation&&!p?t.jsx(s.IconButton,{size:"large",style:k.Utils.getStyle(this.props.theme,a.languageButton,this.props.noTranslation&&a.languageButtonActive),onClick:this.props.toggleTranslation,title:k.I18n.t("Disable/Enable translation"),children:t.jsx(u.Language,{})}):null]})}),t.jsxs(s.DialogContent,{dividers:!0,children:[this.renderMessages(),t.jsxs(s.Grid2,{container:!0,direction:"column",spacing:2,wrap:"nowrap",children:[this.props.dependencies&&this.props.dependencies.length>0&&this.props.dependencies.find(d=>!d.rightVersion)&&t.jsxs(s.Grid2,{children:[t.jsx(s.Typography,{variant:"h6",gutterBottom:!0,children:this.t("Dependencies")}),this.getDependencies()]}),r.length?t.jsxs(s.Grid2,{children:[t.jsx(s.Typography,{variant:"h6",gutterBottom:!0,children:this.t("Change log")}),t.jsx(s.Grid2,{container:!0,spacing:2,direction:"column",wrap:"nowrap",children:r})]}):this.t("No change log available")]})]}),t.jsxs(s.DialogActions,{sx:a.wrapperButton,children:[!!this.props.rightDependencies&&this.props.onIgnore&&e&&t.jsx(s.Button,{id:"adapter-update-dialog-ignore",variant:"outlined",onClick:()=>this.props.onIgnore(e),color:"primary",children:this.t("Ignore version %s",e)}),t.jsx(s.Button,{variant:"contained",id:"adapter-update-dialog-ok",autoFocus:!0,disabled:!this.props.rightDependencies||!e||!this.props.adapterObject,onClick:()=>{var d;(d=this.messages)!=null&&d.find(m=>m.buttons)?this.setState({showMessageDialog:!0}):this.props.onUpdate(e)},color:"primary",startIcon:t.jsx(u.Check,{}),children:this.mobile?null:this.props.textUpdate?this.props.textUpdate:this.t("Update")}),this.props.textInstruction?t.jsx(s.Button,{id:"adapter-update-dialog-instructions",variant:"contained",autoFocus:!0,disabled:!this.props.rightDependencies||!e||!this.props.adapterObject,onClick:()=>{var d;(d=this.messages)!=null&&d.find(m=>m.buttons)?this.setState({showMessageDialog:!0}):this.props.onInstruction()},color:"primary",startIcon:t.jsx(u.Book,{}),children:this.mobile?null:this.props.textInstruction}):null,t.jsx(s.Button,{id:"adapter-update-dialog-cancel",variant:"contained",onClick:()=>this.props.onClose(),color:"grey",startIcon:t.jsx(u.Close,{}),children:this.mobile?null:this.t("Close")})]})]})}}export{W as A,I as c};
|