@iobroker/adapter-react-v5 7.7.5 → 8.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.
Files changed (56) hide show
  1. package/LICENSE +22 -22
  2. package/README.md +3 -3
  3. package/build/AdminConnection.js.map +1 -1
  4. package/build/Components/404.js +13 -13
  5. package/build/Components/404.js.map +1 -1
  6. package/build/Components/ColorPicker.js.map +1 -1
  7. package/build/Components/CopyToClipboard.js.map +1 -1
  8. package/build/Components/Icon.js.map +1 -1
  9. package/build/Components/IobUri.d.ts +1 -1
  10. package/build/Components/IobUri.js.map +1 -1
  11. package/build/Components/Loader.js +223 -223
  12. package/build/Components/Loader.js.map +1 -1
  13. package/build/Components/Loaders/MV.js.map +1 -1
  14. package/build/Components/Loaders/PT.js +103 -103
  15. package/build/Components/Loaders/PT.js.map +1 -1
  16. package/build/Components/Loaders/Vendor.js +7 -7
  17. package/build/Components/Loaders/Vendor.js.map +1 -1
  18. package/build/Components/MDUtils.js.map +1 -1
  19. package/build/Components/ObjectBrowser.d.ts +2 -1
  20. package/build/Components/ObjectBrowser.js +2 -2
  21. package/build/Components/ObjectBrowser.js.map +1 -1
  22. package/build/Components/Router.js.map +1 -1
  23. package/build/Components/SaveCloseButtons.js.map +1 -1
  24. package/build/Components/SimpleCron/cronText.js.map +1 -1
  25. package/build/Components/SimpleCron/index.js.map +1 -1
  26. package/build/Components/TabContainer.js.map +1 -1
  27. package/build/Components/TabContent.js.map +1 -1
  28. package/build/Components/TabHeader.js.map +1 -1
  29. package/build/Components/TableResize.js.map +1 -1
  30. package/build/Components/TreeTable.js.map +1 -1
  31. package/build/Components/UploadImage.js +305 -305
  32. package/build/Components/UploadImage.js.map +1 -1
  33. package/build/Connection.js.map +1 -1
  34. package/build/Dialogs/ComplexCron.js.map +1 -1
  35. package/build/Dialogs/Confirm.js.map +1 -1
  36. package/build/Dialogs/Cron.js.map +1 -1
  37. package/build/Dialogs/Error.js.map +1 -1
  38. package/build/Dialogs/Message.js.map +1 -1
  39. package/build/Dialogs/SimpleCron.js.map +1 -1
  40. package/build/Dialogs/TextInput.js.map +1 -1
  41. package/build/Prompt.js +7 -7
  42. package/build/Prompt.js.map +1 -1
  43. package/build/assets/devices/parseNames.js.map +1 -1
  44. package/build/assets/devices.json +1 -1
  45. package/build/assets/lamp_ceiling.svg +8 -8
  46. package/build/assets/lamp_table.svg +7 -7
  47. package/build/assets/no_icon.svg +9 -9
  48. package/build/assets/rooms/parseNames.js.map +1 -1
  49. package/build/assets/rooms.json +1 -1
  50. package/build/dictionary.js.map +1 -1
  51. package/build/globals.d.ts +19 -0
  52. package/build/i18n.js.map +1 -1
  53. package/build/index.css +56 -56
  54. package/index.css +56 -56
  55. package/package.json +84 -82
  56. package/tasksExample.js +91 -91
@@ -6,109 +6,109 @@
6
6
  */
7
7
  import React, { useEffect } from 'react';
8
8
  // import './PT.css'
9
- const ptStyles = `
10
- .logo-background-light, .logo-background-colored {
11
- background: white;
12
- }
13
- .logo-background-dark, .logo-background-blue {
14
- background: black;
15
- }
16
- .pt-logo-div {
17
- position: absolute;
18
- top: 50%;
19
- left: 50%;
20
- -ms-transform: translateX(-50%) translateY(-50%);
21
- -webkit-transform: translate(-50%,-50%);
22
- transform: translate(-50%,-50%);
23
- z-index: 2;
24
- }
25
- .pt-logo-border {
26
- border-style: solid;
27
- box-sizing: border-box;
28
- width: 100%;
29
- height: 100%;
30
- position: absolute;
31
- }
32
- .pt-loader-block {
33
- height: 65px;
34
- width: 74px;
35
- border-radius: 15px;
36
- position: absolute;
37
- box-sizing: content-box;
38
- }
39
- .pt-loader-blue {
40
- border: 9px solid #0F99DE;
41
- transform: rotate(5grad);
42
- left: 93px;
43
- top: 0;
44
- animation: spin-blue 5s ease-in-out infinite;
45
- }
46
- .pt-loader-green {
47
- border: 9px solid #88A536;
48
- transform: rotate(-6grad);
49
- left: 70px;
50
- top: 58px;
51
- animation: spin-green 5s ease-in-out infinite;
52
- }
53
- .pt-loader-red {
54
- border: 9px solid #BD1B24;
55
- transform: rotate(-15grad);
56
- left: 24px;
57
- top: 100px;
58
- animation: spin-red 5s ease-in-out infinite;
59
- }
60
-
61
- @keyframes spin-blue {
62
- 0% {
63
- transform: rotate(5deg);
64
- }
65
- 25% {
66
- transform: rotate(185deg);
67
- }
68
- 50% {
69
- transform: rotate(185deg);
70
- }
71
- 75% {
72
- transform: rotate(185deg);
73
- }
74
- 100% {
75
- transform: rotate(185deg);
76
- }
77
- }
78
- @keyframes spin-green {
79
- 0% {
80
- transform: rotate(-6deg);
81
- }
82
- 25% {
83
- transform: rotate(-6deg);
84
- }
85
- 50% {
86
- transform: rotate(174deg);
87
- }
88
- 75% {
89
- transform: rotate(174deg);
90
- }
91
- 100% {
92
- transform: rotate(-6deg);
93
- }
94
- }
95
- @keyframes spin-red {
96
- 0% {
97
- transform: rotate(-15deg);
98
- }
99
- 25% {
100
- transform: rotate(-15deg);
101
- }
102
- 50% {
103
- transform: rotate(-15deg);
104
- }
105
- 75% {
106
- transform: rotate(165deg);
107
- }
108
- 100% {
109
- transform: rotate(165deg);
110
- }
111
- }
9
+ const ptStyles = `
10
+ .logo-background-light, .logo-background-colored {
11
+ background: white;
12
+ }
13
+ .logo-background-dark, .logo-background-blue {
14
+ background: black;
15
+ }
16
+ .pt-logo-div {
17
+ position: absolute;
18
+ top: 50%;
19
+ left: 50%;
20
+ -ms-transform: translateX(-50%) translateY(-50%);
21
+ -webkit-transform: translate(-50%,-50%);
22
+ transform: translate(-50%,-50%);
23
+ z-index: 2;
24
+ }
25
+ .pt-logo-border {
26
+ border-style: solid;
27
+ box-sizing: border-box;
28
+ width: 100%;
29
+ height: 100%;
30
+ position: absolute;
31
+ }
32
+ .pt-loader-block {
33
+ height: 65px;
34
+ width: 74px;
35
+ border-radius: 15px;
36
+ position: absolute;
37
+ box-sizing: content-box;
38
+ }
39
+ .pt-loader-blue {
40
+ border: 9px solid #0F99DE;
41
+ transform: rotate(5grad);
42
+ left: 93px;
43
+ top: 0;
44
+ animation: spin-blue 5s ease-in-out infinite;
45
+ }
46
+ .pt-loader-green {
47
+ border: 9px solid #88A536;
48
+ transform: rotate(-6grad);
49
+ left: 70px;
50
+ top: 58px;
51
+ animation: spin-green 5s ease-in-out infinite;
52
+ }
53
+ .pt-loader-red {
54
+ border: 9px solid #BD1B24;
55
+ transform: rotate(-15grad);
56
+ left: 24px;
57
+ top: 100px;
58
+ animation: spin-red 5s ease-in-out infinite;
59
+ }
60
+
61
+ @keyframes spin-blue {
62
+ 0% {
63
+ transform: rotate(5deg);
64
+ }
65
+ 25% {
66
+ transform: rotate(185deg);
67
+ }
68
+ 50% {
69
+ transform: rotate(185deg);
70
+ }
71
+ 75% {
72
+ transform: rotate(185deg);
73
+ }
74
+ 100% {
75
+ transform: rotate(185deg);
76
+ }
77
+ }
78
+ @keyframes spin-green {
79
+ 0% {
80
+ transform: rotate(-6deg);
81
+ }
82
+ 25% {
83
+ transform: rotate(-6deg);
84
+ }
85
+ 50% {
86
+ transform: rotate(174deg);
87
+ }
88
+ 75% {
89
+ transform: rotate(174deg);
90
+ }
91
+ 100% {
92
+ transform: rotate(-6deg);
93
+ }
94
+ }
95
+ @keyframes spin-red {
96
+ 0% {
97
+ transform: rotate(-15deg);
98
+ }
99
+ 25% {
100
+ transform: rotate(-15deg);
101
+ }
102
+ 50% {
103
+ transform: rotate(-15deg);
104
+ }
105
+ 75% {
106
+ transform: rotate(165deg);
107
+ }
108
+ 100% {
109
+ transform: rotate(165deg);
110
+ }
111
+ }
112
112
  `;
113
113
  /**
114
114
  * A loader component with the vendor-specific logo
@@ -1 +1 @@
1
- {"version":3,"file":"PT.js","sourceRoot":"./src/","sources":["Components/Loaders/PT.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIzC,oBAAoB;AACpB,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuGhB,CAAC;AAeF;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAoB;IACzC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC;IAC/B,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACrD,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;YAClD,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC3B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC;IAChE,OAAO,CACH,6BACI,SAAS,EAAE,gCAAgC,SAAS,EAAE,EACtD,KAAK,EAAE;YACH,eAAe,EACX,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,eAAe,KAAK,0BAA0B;gBACzE,CAAC,CAAC,KAAK,CAAC,eAAe;gBACvB,CAAC,CAAC,MAAM,CAAC,sBAAsB,IAAI,MAAM,CAAC,sBAAsB,KAAK,0BAA0B;oBAC7F,CAAC,CAAC,OAAO,MAAM,CAAC,sBAAsB,GAAG;oBACzC,CAAC,CAAC,SAAS;YACrB,eAAe,EACX,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,eAAe,KAAK,0BAA0B;gBACzE,CAAC,CAAC,KAAK,CAAC,eAAe;gBACvB,CAAC,CAAC,MAAM,CAAC,sBAAsB,IAAI,MAAM,CAAC,sBAAsB,KAAK,0BAA0B;oBAC7F,CAAC,CAAC,MAAM,CAAC,sBAAsB;oBAC/B,CAAC,CAAC,KAAK,CAAC,SAAS,KAAK,MAAM;wBAC1B,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,MAAM;YACpB,cAAc,EAAE,OAAO;SAC1B;QAED,6BACI,SAAS,EAAC,aAAa,EACvB,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;YAEpC,6BAAK,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;gBACnC,6BAAK,SAAS,EAAC,gCAAgC,GAAG;gBAClD,6BAAK,SAAS,EAAC,iCAAiC,GAAG;gBACnD,6BAAK,SAAS,EAAC,+BAA+B,GAAG,CAC/C,CACJ,CACJ,CACT,CAAC;AACN,CAAC","sourcesContent":["/**\n * Copyright 2021-2024 ioBroker GmbH\n *\n * MIT License\n *\n */\nimport React, { useEffect } from 'react';\n\nimport type { ThemeType, ThemeName } from '../../types';\n\n// import './PT.css'\nconst ptStyles = `\n.logo-background-light, .logo-background-colored {\n background: white;\n}\n.logo-background-dark, .logo-background-blue {\n background: black;\n}\n.pt-logo-div {\n position: absolute;\n top: 50%;\n left: 50%;\n -ms-transform: translateX(-50%) translateY(-50%);\n -webkit-transform: translate(-50%,-50%);\n transform: translate(-50%,-50%);\n z-index: 2;\n}\n.pt-logo-border {\n border-style: solid;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n position: absolute;\n}\n.pt-loader-block {\n height: 65px;\n width: 74px;\n border-radius: 15px;\n position: absolute;\n box-sizing: content-box;\n}\n.pt-loader-blue {\n border: 9px solid #0F99DE;\n transform: rotate(5grad);\n left: 93px;\n top: 0;\n animation: spin-blue 5s ease-in-out infinite;\n}\n.pt-loader-green {\n border: 9px solid #88A536;\n transform: rotate(-6grad);\n left: 70px;\n top: 58px;\n animation: spin-green 5s ease-in-out infinite;\n}\n.pt-loader-red {\n border: 9px solid #BD1B24;\n transform: rotate(-15grad);\n left: 24px;\n top: 100px;\n animation: spin-red 5s ease-in-out infinite;\n}\n\n@keyframes spin-blue {\n 0% {\n transform: rotate(5deg);\n }\n 25% {\n transform: rotate(185deg);\n }\n 50% {\n transform: rotate(185deg);\n }\n 75% {\n transform: rotate(185deg);\n }\n 100% {\n transform: rotate(185deg);\n }\n}\n@keyframes spin-green {\n 0% {\n transform: rotate(-6deg);\n }\n 25% {\n transform: rotate(-6deg);\n }\n 50% {\n transform: rotate(174deg);\n }\n 75% {\n transform: rotate(174deg);\n }\n 100% {\n transform: rotate(-6deg);\n }\n}\n@keyframes spin-red {\n 0% {\n transform: rotate(-15deg);\n }\n 25% {\n transform: rotate(-15deg);\n }\n 50% {\n transform: rotate(-15deg);\n }\n 75% {\n transform: rotate(165deg);\n }\n 100% {\n transform: rotate(165deg);\n }\n}\n`;\n\ninterface LoaderPTProps {\n /** The size in pixels of this loader. */\n size?: number;\n /** The chosen theme type. */\n themeType?: ThemeType;\n /** The chosen theme name. */\n themeName?: ThemeName;\n /** Background color */\n backgroundColor?: string;\n /** Background image URL */\n backgroundImage?: string;\n}\n\n/**\n * A loader component with the vendor-specific logo\n *\n * @param props Properties of the loader of type LoaderPTProps\n */\nexport function LoaderPT(props: LoaderPTProps): React.JSX.Element {\n const size = props.size || 200;\n useEffect(() => {\n if (!window.document.getElementById('pt-iobroker-component')) {\n const style = window.document.createElement('style');\n style.setAttribute('id', 'pt-iobroker-component');\n style.innerHTML = ptStyles;\n window.document.head.appendChild(style);\n }\n }, []);\n\n const themeName = props.themeType || props.themeName || 'light';\n return (\n <div\n className={`pt-logo-back logo-background-${themeName}`}\n style={{\n backgroundImage:\n props.backgroundImage && props.backgroundImage !== '@@loginBackgroundImage@@'\n ? props.backgroundImage\n : window.loadingBackgroundImage && window.loadingBackgroundImage !== '@@loginBackgroundImage@@'\n ? `url(${window.loadingBackgroundImage})`\n : undefined,\n backgroundColor:\n props.backgroundColor && props.backgroundColor !== '@@loginBackgroundColor@@'\n ? props.backgroundColor\n : window.loadingBackgroundColor && window.loadingBackgroundColor !== '@@loginBackgroundColor@@'\n ? window.loadingBackgroundColor\n : props.themeType === 'dark'\n ? '#000'\n : '#FFF',\n backgroundSize: 'cover',\n }}\n >\n <div\n className=\"pt-logo-div\"\n style={{ width: size, height: size }}\n >\n <div style={{ width: 200, height: 200 }}>\n <div className=\"pt-loader-blue pt-loader-block\" />\n <div className=\"pt-loader-green pt-loader-block\" />\n <div className=\"pt-loader-red pt-loader-block\" />\n </div>\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"PT.js","sourceRoot":"./src/","sources":["Components/Loaders/PT.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIzC,oBAAoB;AACpB,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuGhB,CAAC;AAeF;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAoB;IACzC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC;IAC/B,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACrD,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;YAClD,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC3B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC;IAChE,OAAO,CACH,6BACI,SAAS,EAAE,gCAAgC,SAAS,EAAE,EACtD,KAAK,EAAE;YACH,eAAe,EACX,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,eAAe,KAAK,0BAA0B;gBACzE,CAAC,CAAC,KAAK,CAAC,eAAe;gBACvB,CAAC,CAAC,MAAM,CAAC,sBAAsB,IAAI,MAAM,CAAC,sBAAsB,KAAK,0BAA0B;oBAC7F,CAAC,CAAC,OAAO,MAAM,CAAC,sBAAsB,GAAG;oBACzC,CAAC,CAAC,SAAS;YACrB,eAAe,EACX,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,eAAe,KAAK,0BAA0B;gBACzE,CAAC,CAAC,KAAK,CAAC,eAAe;gBACvB,CAAC,CAAC,MAAM,CAAC,sBAAsB,IAAI,MAAM,CAAC,sBAAsB,KAAK,0BAA0B;oBAC7F,CAAC,CAAC,MAAM,CAAC,sBAAsB;oBAC/B,CAAC,CAAC,KAAK,CAAC,SAAS,KAAK,MAAM;wBAC1B,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,MAAM;YACpB,cAAc,EAAE,OAAO;SAC1B;QAED,6BACI,SAAS,EAAC,aAAa,EACvB,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;YAEpC,6BAAK,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;gBACnC,6BAAK,SAAS,EAAC,gCAAgC,GAAG;gBAClD,6BAAK,SAAS,EAAC,iCAAiC,GAAG;gBACnD,6BAAK,SAAS,EAAC,+BAA+B,GAAG,CAC/C,CACJ,CACJ,CACT,CAAC;AACN,CAAC","sourcesContent":["/**\r\n * Copyright 2021-2024 ioBroker GmbH\r\n *\r\n * MIT License\r\n *\r\n */\r\nimport React, { useEffect } from 'react';\r\n\r\nimport type { ThemeType, ThemeName } from '../../types';\r\n\r\n// import './PT.css'\r\nconst ptStyles = `\r\n.logo-background-light, .logo-background-colored {\r\n background: white;\r\n}\r\n.logo-background-dark, .logo-background-blue {\r\n background: black;\r\n}\r\n.pt-logo-div {\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n -ms-transform: translateX(-50%) translateY(-50%);\r\n -webkit-transform: translate(-50%,-50%);\r\n transform: translate(-50%,-50%);\r\n z-index: 2;\r\n}\r\n.pt-logo-border {\r\n border-style: solid;\r\n box-sizing: border-box;\r\n width: 100%;\r\n height: 100%;\r\n position: absolute;\r\n}\r\n.pt-loader-block {\r\n height: 65px;\r\n width: 74px;\r\n border-radius: 15px;\r\n position: absolute;\r\n box-sizing: content-box;\r\n}\r\n.pt-loader-blue {\r\n border: 9px solid #0F99DE;\r\n transform: rotate(5grad);\r\n left: 93px;\r\n top: 0;\r\n animation: spin-blue 5s ease-in-out infinite;\r\n}\r\n.pt-loader-green {\r\n border: 9px solid #88A536;\r\n transform: rotate(-6grad);\r\n left: 70px;\r\n top: 58px;\r\n animation: spin-green 5s ease-in-out infinite;\r\n}\r\n.pt-loader-red {\r\n border: 9px solid #BD1B24;\r\n transform: rotate(-15grad);\r\n left: 24px;\r\n top: 100px;\r\n animation: spin-red 5s ease-in-out infinite;\r\n}\r\n\r\n@keyframes spin-blue {\r\n 0% {\r\n transform: rotate(5deg);\r\n }\r\n 25% {\r\n transform: rotate(185deg);\r\n }\r\n 50% {\r\n transform: rotate(185deg);\r\n }\r\n 75% {\r\n transform: rotate(185deg);\r\n }\r\n 100% {\r\n transform: rotate(185deg);\r\n }\r\n}\r\n@keyframes spin-green {\r\n 0% {\r\n transform: rotate(-6deg);\r\n }\r\n 25% {\r\n transform: rotate(-6deg);\r\n }\r\n 50% {\r\n transform: rotate(174deg);\r\n }\r\n 75% {\r\n transform: rotate(174deg);\r\n }\r\n 100% {\r\n transform: rotate(-6deg);\r\n }\r\n}\r\n@keyframes spin-red {\r\n 0% {\r\n transform: rotate(-15deg);\r\n }\r\n 25% {\r\n transform: rotate(-15deg);\r\n }\r\n 50% {\r\n transform: rotate(-15deg);\r\n }\r\n 75% {\r\n transform: rotate(165deg);\r\n }\r\n 100% {\r\n transform: rotate(165deg);\r\n }\r\n}\r\n`;\r\n\r\ninterface LoaderPTProps {\r\n /** The size in pixels of this loader. */\r\n size?: number;\r\n /** The chosen theme type. */\r\n themeType?: ThemeType;\r\n /** The chosen theme name. */\r\n themeName?: ThemeName;\r\n /** Background color */\r\n backgroundColor?: string;\r\n /** Background image URL */\r\n backgroundImage?: string;\r\n}\r\n\r\n/**\r\n * A loader component with the vendor-specific logo\r\n *\r\n * @param props Properties of the loader of type LoaderPTProps\r\n */\r\nexport function LoaderPT(props: LoaderPTProps): React.JSX.Element {\r\n const size = props.size || 200;\r\n useEffect(() => {\r\n if (!window.document.getElementById('pt-iobroker-component')) {\r\n const style = window.document.createElement('style');\r\n style.setAttribute('id', 'pt-iobroker-component');\r\n style.innerHTML = ptStyles;\r\n window.document.head.appendChild(style);\r\n }\r\n }, []);\r\n\r\n const themeName = props.themeType || props.themeName || 'light';\r\n return (\r\n <div\r\n className={`pt-logo-back logo-background-${themeName}`}\r\n style={{\r\n backgroundImage:\r\n props.backgroundImage && props.backgroundImage !== '@@loginBackgroundImage@@'\r\n ? props.backgroundImage\r\n : window.loadingBackgroundImage && window.loadingBackgroundImage !== '@@loginBackgroundImage@@'\r\n ? `url(${window.loadingBackgroundImage})`\r\n : undefined,\r\n backgroundColor:\r\n props.backgroundColor && props.backgroundColor !== '@@loginBackgroundColor@@'\r\n ? props.backgroundColor\r\n : window.loadingBackgroundColor && window.loadingBackgroundColor !== '@@loginBackgroundColor@@'\r\n ? window.loadingBackgroundColor\r\n : props.themeType === 'dark'\r\n ? '#000'\r\n : '#FFF',\r\n backgroundSize: 'cover',\r\n }}\r\n >\r\n <div\r\n className=\"pt-logo-div\"\r\n style={{ width: size, height: size }}\r\n >\r\n <div style={{ width: 200, height: 200 }}>\r\n <div className=\"pt-loader-blue pt-loader-block\" />\r\n <div className=\"pt-loader-green pt-loader-block\" />\r\n <div className=\"pt-loader-red pt-loader-block\" />\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"]}
@@ -7,13 +7,13 @@
7
7
  import React, { useEffect } from 'react';
8
8
  import { CircularProgress } from '@mui/material';
9
9
  // import './Vendor.css'
10
- const vendorStyles = `
11
- .logo-background-light, .logo-background-colored {
12
- background: white;
13
- }
14
- .logo-background-dark, .logo-background-blue {
15
- background: black;
16
- }
10
+ const vendorStyles = `
11
+ .logo-background-light, .logo-background-colored {
12
+ background: white;
13
+ }
14
+ .logo-background-dark, .logo-background-blue {
15
+ background: black;
16
+ }
17
17
  `;
18
18
  export function LoaderVendor(props) {
19
19
  useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"Vendor.js","sourceRoot":"./src/","sources":["Components/Loaders/Vendor.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAIjD,wBAAwB;AACxB,MAAM,YAAY,GAAG;;;;;;;CAOpB,CAAC;AAeF,MAAM,UAAU,YAAY,CAAC,KAAwB;IACjD,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAA2B,CAAC,EAAE,CAAC;YAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACrD,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC;YACtD,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC;YAC/B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC;IAC5D,OAAO,CACH,6BACI,SAAS,EAAE,oCAAoC,KAAK,EAAE,EACtD,KAAK,EAAE;YACH,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,MAAM;YACd,eAAe,EACX,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,eAAe,KAAK,0BAA0B;gBACzE,CAAC,CAAC,KAAK,CAAC,eAAe;gBACvB,CAAC,CAAC,MAAM,CAAC,sBAAsB,IAAI,MAAM,CAAC,sBAAsB,KAAK,0BAA0B;oBAC7F,CAAC,CAAC,OAAO,MAAM,CAAC,sBAAsB,GAAG;oBACzC,CAAC,CAAC,SAAS;YACrB,eAAe,EACX,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,eAAe,KAAK,0BAA0B;gBACzE,CAAC,CAAC,KAAK,CAAC,eAAe;gBACvB,CAAC,CAAC,MAAM,CAAC,sBAAsB,IAAI,MAAM,CAAC,sBAAsB,KAAK,0BAA0B;oBAC7F,CAAC,CAAC,MAAM,CAAC,sBAAsB;oBAC/B,CAAC,CAAC,KAAK,CAAC,SAAS,KAAK,MAAM;wBAC1B,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,MAAM;YACpB,cAAc,EAAE,OAAO;SAC1B;QAED,6BAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAI;QAC/B,oBAAC,gBAAgB,IACb,KAAK,EAAC,WAAW,EACjB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,GAAG,EACvB,SAAS,EAAE,CAAC,GACd;QACF,6BAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAI,CAC7B,CACT,CAAC;AACN,CAAC","sourcesContent":["/**\n * Copyright 2021-2024 ioBroker GmbH\n *\n * MIT License\n *\n */\nimport React, { useEffect } from 'react';\nimport { CircularProgress } from '@mui/material';\n\nimport type { ThemeType, ThemeName } from '../../types';\n\n// import './Vendor.css'\nconst vendorStyles = `\n.logo-background-light, .logo-background-colored {\n background: white;\n}\n.logo-background-dark, .logo-background-blue {\n background: black;\n}\n`;\n\ninterface LoaderVendorProps {\n /** The size in pixels of this loader. */\n size?: number;\n /** The chosen theme type. */\n themeType?: ThemeType;\n /** The chosen theme name. */\n themeName?: ThemeName;\n /** Background color */\n backgroundColor?: string;\n /** Background image URL */\n backgroundImage?: string;\n}\n\nexport function LoaderVendor(props: LoaderVendorProps): React.JSX.Element {\n useEffect(() => {\n if (!window.document.getElementById('vendor-iobroker-component')) {\n const style = window.document.createElement('style');\n style.setAttribute('id', 'vendor-iobroker-component');\n style.innerHTML = vendorStyles;\n window.document.head.appendChild(style);\n }\n }, []);\n\n const theme = props.themeType || props.themeName || 'light';\n return (\n <div\n className={`vendor-logo-back logo-background-${theme}`}\n style={{\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n width: '10%',\n margin: 'auto',\n backgroundImage:\n props.backgroundImage && props.backgroundImage !== '@@loginBackgroundImage@@'\n ? props.backgroundImage\n : window.loadingBackgroundImage && window.loadingBackgroundImage !== '@@loginBackgroundImage@@'\n ? `url(${window.loadingBackgroundImage})`\n : undefined,\n backgroundColor:\n props.backgroundColor && props.backgroundColor !== '@@loginBackgroundColor@@'\n ? props.backgroundColor\n : window.loadingBackgroundColor && window.loadingBackgroundColor !== '@@loginBackgroundColor@@'\n ? window.loadingBackgroundColor\n : props.themeType === 'dark'\n ? '#000'\n : '#FFF',\n backgroundSize: 'cover',\n }}\n >\n <div style={{ flexGrow: 1 }} />\n <CircularProgress\n color=\"secondary\"\n size={props.size || 200}\n thickness={5}\n />\n <div style={{ flexGrow: 1 }} />\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"Vendor.js","sourceRoot":"./src/","sources":["Components/Loaders/Vendor.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAIjD,wBAAwB;AACxB,MAAM,YAAY,GAAG;;;;;;;CAOpB,CAAC;AAeF,MAAM,UAAU,YAAY,CAAC,KAAwB;IACjD,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAA2B,CAAC,EAAE,CAAC;YAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACrD,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC;YACtD,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC;YAC/B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC;IAC5D,OAAO,CACH,6BACI,SAAS,EAAE,oCAAoC,KAAK,EAAE,EACtD,KAAK,EAAE;YACH,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,MAAM;YACd,eAAe,EACX,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,eAAe,KAAK,0BAA0B;gBACzE,CAAC,CAAC,KAAK,CAAC,eAAe;gBACvB,CAAC,CAAC,MAAM,CAAC,sBAAsB,IAAI,MAAM,CAAC,sBAAsB,KAAK,0BAA0B;oBAC7F,CAAC,CAAC,OAAO,MAAM,CAAC,sBAAsB,GAAG;oBACzC,CAAC,CAAC,SAAS;YACrB,eAAe,EACX,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,eAAe,KAAK,0BAA0B;gBACzE,CAAC,CAAC,KAAK,CAAC,eAAe;gBACvB,CAAC,CAAC,MAAM,CAAC,sBAAsB,IAAI,MAAM,CAAC,sBAAsB,KAAK,0BAA0B;oBAC7F,CAAC,CAAC,MAAM,CAAC,sBAAsB;oBAC/B,CAAC,CAAC,KAAK,CAAC,SAAS,KAAK,MAAM;wBAC1B,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,MAAM;YACpB,cAAc,EAAE,OAAO;SAC1B;QAED,6BAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAI;QAC/B,oBAAC,gBAAgB,IACb,KAAK,EAAC,WAAW,EACjB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,GAAG,EACvB,SAAS,EAAE,CAAC,GACd;QACF,6BAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAI,CAC7B,CACT,CAAC;AACN,CAAC","sourcesContent":["/**\r\n * Copyright 2021-2024 ioBroker GmbH\r\n *\r\n * MIT License\r\n *\r\n */\r\nimport React, { useEffect } from 'react';\r\nimport { CircularProgress } from '@mui/material';\r\n\r\nimport type { ThemeType, ThemeName } from '../../types';\r\n\r\n// import './Vendor.css'\r\nconst vendorStyles = `\r\n.logo-background-light, .logo-background-colored {\r\n background: white;\r\n}\r\n.logo-background-dark, .logo-background-blue {\r\n background: black;\r\n}\r\n`;\r\n\r\ninterface LoaderVendorProps {\r\n /** The size in pixels of this loader. */\r\n size?: number;\r\n /** The chosen theme type. */\r\n themeType?: ThemeType;\r\n /** The chosen theme name. */\r\n themeName?: ThemeName;\r\n /** Background color */\r\n backgroundColor?: string;\r\n /** Background image URL */\r\n backgroundImage?: string;\r\n}\r\n\r\nexport function LoaderVendor(props: LoaderVendorProps): React.JSX.Element {\r\n useEffect(() => {\r\n if (!window.document.getElementById('vendor-iobroker-component')) {\r\n const style = window.document.createElement('style');\r\n style.setAttribute('id', 'vendor-iobroker-component');\r\n style.innerHTML = vendorStyles;\r\n window.document.head.appendChild(style);\r\n }\r\n }, []);\r\n\r\n const theme = props.themeType || props.themeName || 'light';\r\n return (\r\n <div\r\n className={`vendor-logo-back logo-background-${theme}`}\r\n style={{\r\n display: 'flex',\r\n flexDirection: 'column',\r\n height: '100%',\r\n width: '10%',\r\n margin: 'auto',\r\n backgroundImage:\r\n props.backgroundImage && props.backgroundImage !== '@@loginBackgroundImage@@'\r\n ? props.backgroundImage\r\n : window.loadingBackgroundImage && window.loadingBackgroundImage !== '@@loginBackgroundImage@@'\r\n ? `url(${window.loadingBackgroundImage})`\r\n : undefined,\r\n backgroundColor:\r\n props.backgroundColor && props.backgroundColor !== '@@loginBackgroundColor@@'\r\n ? props.backgroundColor\r\n : window.loadingBackgroundColor && window.loadingBackgroundColor !== '@@loginBackgroundColor@@'\r\n ? window.loadingBackgroundColor\r\n : props.themeType === 'dark'\r\n ? '#000'\r\n : '#FFF',\r\n backgroundSize: 'cover',\r\n }}\r\n >\r\n <div style={{ flexGrow: 1 }} />\r\n <CircularProgress\r\n color=\"secondary\"\r\n size={props.size || 200}\r\n thickness={5}\r\n />\r\n <div style={{ flexGrow: 1 }} />\r\n </div>\r\n );\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MDUtils.js","sourceRoot":"./src/","sources":["Components/MDUtils.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright 2018-2023 Denis Haev (bluefox) <dogafox@gmail.com>\n *\n * MIT License\n *\n */\nimport { copy } from './CopyToClipboard';\n\nexport class MDUtils {\n static text2link(text: string): string {\n const m = text.match(/\\d+\\.\\)\\s/);\n if (m) {\n text = text.replace(m[0], m[0].replace(/\\s/, '&nbsp;'));\n }\n\n return text\n .replace(/[^a-zA-Zа-яА-Я0-9]/g, '')\n .trim()\n .replace(/\\s/g, '')\n .toLowerCase();\n }\n\n static openLink(url: string, target?: string): void {\n // replace IPv6 Address with [ipv6]:port\n url = url.replace(/\\/\\/([0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*)(:\\d+)?\\//i, '//[$1]$2/');\n\n if (target === 'this') {\n window.location.href = url;\n } else {\n window.open(url, target || '_blank');\n }\n }\n\n static getTitle(text: string): string {\n const result = MDUtils.extractHeader(text);\n let body = result.body;\n const header = result.header;\n if (!header.title) {\n // remove {docsify-bla}\n body = body.replace(/{[^}]*}/g, '');\n body = body.trim();\n const lines = body.replace(/\\r/g, '').split('\\n');\n for (let i = 0; i < lines.length; i++) {\n if (lines[i].startsWith('# ')) {\n return lines[i].substring(2).trim();\n }\n }\n return '';\n }\n\n return header.title.toString();\n }\n\n static extractHeader(text: string): { header: Record<string, string | boolean | number>; body: string } {\n const attrs: Record<string, string | boolean | number> = {};\n if (text.substring(0, 3) === '---') {\n const pos = text.substring(3).indexOf('\\n---');\n if (pos !== -1) {\n const _header = text.substring(3, pos + 3);\n const lines = _header.replace(/\\r/g, '').split('\\n');\n lines.forEach(line => {\n if (!line.trim()) {\n return;\n }\n const pos_ = line.indexOf(':');\n if (pos_ !== -1) {\n const attr = line.substring(0, pos_).trim();\n let val: string = line.substring(pos_ + 1).trim();\n val = val.replace(/^['\"]|['\"]$/g, '');\n if (val === 'true') {\n attrs[attr] = true;\n } else if (val === 'false') {\n attrs[attr] = false;\n } else if (parseFloat(val).toString() === val) {\n attrs[attr] = parseFloat(val);\n } else {\n attrs[attr] = val;\n }\n } else {\n attrs[line.trim()] = true;\n }\n });\n text = text.substring(pos + 7);\n }\n }\n return { header: attrs, body: text };\n }\n\n static removeDocsify(text: string): string {\n const m = text.match(/{docsify-[^}]*}/g);\n if (m) {\n m.forEach(doc => (text = text.replace(doc, '')));\n }\n return text;\n }\n\n static onCopy(e: Event | null, text: string): void {\n copy(text);\n e && e.stopPropagation();\n e && e.preventDefault();\n }\n}\n"]}
1
+ {"version":3,"file":"MDUtils.js","sourceRoot":"./src/","sources":["Components/MDUtils.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * Copyright 2018-2023 Denis Haev (bluefox) <dogafox@gmail.com>\r\n *\r\n * MIT License\r\n *\r\n */\r\nimport { copy } from './CopyToClipboard';\r\n\r\nexport class MDUtils {\r\n static text2link(text: string): string {\r\n const m = text.match(/\\d+\\.\\)\\s/);\r\n if (m) {\r\n text = text.replace(m[0], m[0].replace(/\\s/, '&nbsp;'));\r\n }\r\n\r\n return text\r\n .replace(/[^a-zA-Zа-яА-Я0-9]/g, '')\r\n .trim()\r\n .replace(/\\s/g, '')\r\n .toLowerCase();\r\n }\r\n\r\n static openLink(url: string, target?: string): void {\r\n // replace IPv6 Address with [ipv6]:port\r\n url = url.replace(/\\/\\/([0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*)(:\\d+)?\\//i, '//[$1]$2/');\r\n\r\n if (target === 'this') {\r\n window.location.href = url;\r\n } else {\r\n window.open(url, target || '_blank');\r\n }\r\n }\r\n\r\n static getTitle(text: string): string {\r\n const result = MDUtils.extractHeader(text);\r\n let body = result.body;\r\n const header = result.header;\r\n if (!header.title) {\r\n // remove {docsify-bla}\r\n body = body.replace(/{[^}]*}/g, '');\r\n body = body.trim();\r\n const lines = body.replace(/\\r/g, '').split('\\n');\r\n for (let i = 0; i < lines.length; i++) {\r\n if (lines[i].startsWith('# ')) {\r\n return lines[i].substring(2).trim();\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n return header.title.toString();\r\n }\r\n\r\n static extractHeader(text: string): { header: Record<string, string | boolean | number>; body: string } {\r\n const attrs: Record<string, string | boolean | number> = {};\r\n if (text.substring(0, 3) === '---') {\r\n const pos = text.substring(3).indexOf('\\n---');\r\n if (pos !== -1) {\r\n const _header = text.substring(3, pos + 3);\r\n const lines = _header.replace(/\\r/g, '').split('\\n');\r\n lines.forEach(line => {\r\n if (!line.trim()) {\r\n return;\r\n }\r\n const pos_ = line.indexOf(':');\r\n if (pos_ !== -1) {\r\n const attr = line.substring(0, pos_).trim();\r\n let val: string = line.substring(pos_ + 1).trim();\r\n val = val.replace(/^['\"]|['\"]$/g, '');\r\n if (val === 'true') {\r\n attrs[attr] = true;\r\n } else if (val === 'false') {\r\n attrs[attr] = false;\r\n } else if (parseFloat(val).toString() === val) {\r\n attrs[attr] = parseFloat(val);\r\n } else {\r\n attrs[attr] = val;\r\n }\r\n } else {\r\n attrs[line.trim()] = true;\r\n }\r\n });\r\n text = text.substring(pos + 7);\r\n }\r\n }\r\n return { header: attrs, body: text };\r\n }\r\n\r\n static removeDocsify(text: string): string {\r\n const m = text.match(/{docsify-[^}]*}/g);\r\n if (m) {\r\n m.forEach(doc => (text = text.replace(doc, '')));\r\n }\r\n return text;\r\n }\r\n\r\n static onCopy(e: Event | null, text: string): void {\r\n copy(text);\r\n e && e.stopPropagation();\r\n e && e.preventDefault();\r\n }\r\n}\r\n"]}
@@ -406,7 +406,6 @@ interface ObjectBrowserState {
406
406
  } | null;
407
407
  }
408
408
  export declare class ObjectBrowserClass extends Component<ObjectBrowserProps, ObjectBrowserState> {
409
- #private;
410
409
  private info;
411
410
  private localStorage;
412
411
  private lastAppliedFilter;
@@ -453,6 +452,8 @@ export declare class ObjectBrowserClass extends Component<ObjectBrowserProps, Ob
453
452
  private recordStates;
454
453
  private styles;
455
454
  private customColumnDialog;
455
+ /** Namespaces which are allowed to be edited by non-expert users */
456
+ static NON_EXPERT_NAMESPACES: string[];
456
457
  constructor(props: ObjectBrowserProps);
457
458
  loadAllObjects(update?: boolean): Promise<void>;
458
459
  /**
@@ -1932,7 +1932,7 @@ export class ObjectBrowserClass extends Component {
1932
1932
  styles = {};
1933
1933
  customColumnDialog = null;
1934
1934
  /** Namespaces which are allowed to be edited by non-expert users */
1935
- static #NON_EXPERT_NAMESPACES = ['0_userdata.0.', 'alias.0.'];
1935
+ static NON_EXPERT_NAMESPACES = ['0_userdata.0.', 'alias.0.'];
1936
1936
  constructor(props) {
1937
1937
  super(props);
1938
1938
  const lastSelectedItemStr = this.localStorage.getItem(`${props.dialogName || 'App'}.objectSelected`) || '';
@@ -2331,7 +2331,7 @@ export class ObjectBrowserClass extends Component {
2331
2331
  static isNonExpertId(
2332
2332
  /** id to test */
2333
2333
  id) {
2334
- return !!ObjectBrowserClass.#NON_EXPERT_NAMESPACES.find(saveNamespace => id.startsWith(saveNamespace));
2334
+ return !!ObjectBrowserClass.NON_EXPERT_NAMESPACES.find(saveNamespace => id.startsWith(saveNamespace));
2335
2335
  }
2336
2336
  expandAllSelected(cb) {
2337
2337
  const expanded = [...this.state.expanded];