iobroker.webui 1.26.0 → 1.27.1
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 +8 -0
- package/io-package.json +27 -27
- package/package.json +12 -12
- package/www/dist/frontend/common/Common.globals.d.ts +1 -0
- package/www/dist/frontend/config/IobrokerWebuiScreenEditor.js +30 -6
- package/www/dist/frontend/helper/XmlHelper.js +1 -1
- package/www/dist/frontend/runtime/ScreenViewer.js +7 -9
- package/www/index.html +1 -1
- package/www/node_modules/@iobroker/webcomponent-selectid-dialog/dist/iobrokerSelectId.es.js +19640 -18926
- package/www/node_modules/@iobroker/webcomponent-selectid-dialog/dist/selectIdHelper.js +3 -1
- package/www/node_modules/@iobroker/webcomponent-selectid-dialog/dist/socket.iob.js +1 -1
- package/www/node_modules/@node-projects/web-component-designer/dist/elements/item/DesignItem.js +8 -41
- package/www/node_modules/@node-projects/web-component-designer/dist/elements/services/DefaultServiceBootstrap.js +2 -0
- package/www/node_modules/@node-projects/web-component-designer/dist/elements/services/designItemService/BaseCustomWebcomponentDesignItemService.js +2 -1
- package/www/node_modules/@node-projects/web-component-designer/dist/elements/services/designItemService/DesignItemService.js +27 -1
- package/www/node_modules/@node-projects/web-component-designer-visualization-addons/dist/blockly/components/fields/FieldObjectId.js +6 -0
- package/www/node_modules/@node-projects/web-component-designer-visualization-addons/dist/components/BindingsEditor.js +1 -1
- package/www/node_modules/@node-projects/web-component-designer-visualization-addons/dist/components/SimpleScriptEditor.js +10 -0
- package/www/node_modules/@node-projects/web-component-designer-visualization-addons/dist/components/VisualizationPropertyGrid.js +6 -0
- package/www/node_modules/@node-projects/web-component-designer-visualization-addons/dist/helpers/BindingsHelper.js +53 -0
- package/www/node_modules/@node-projects/web-component-designer-widgets-wunderbaum/dist/widgets/WunderbaumOptions.js +2 -0
- package/www/node_modules/blockly/blockly_compressed.js +67 -67
- package/www/node_modules/blockly/blocks_compressed.js +1 -1
- package/www/node_modules/blockly/javascript_compressed.js +15 -15
- package/www/node_modules/dock-spawn-ts/lib/es5/dock-spawn-ts.js +1 -1
- package/www/node_modules/dock-spawn-ts/lib/js/DockManager.js +1 -1
- package/www/node_modules/wunderbaum/dist/wunderbaum.css +9 -0
- package/www/node_modules/wunderbaum/dist/wunderbaum.esm.min.js +26 -26
package/README.md
CHANGED
|
@@ -133,6 +133,14 @@ runtime.html?screenName=screen2
|
|
|
133
133
|
Placeholder for next versions:
|
|
134
134
|
### __WORK IN PROGRESS__
|
|
135
135
|
-->
|
|
136
|
+
### 1.27.1 (2025-03-30)
|
|
137
|
+
- fix xml import
|
|
138
|
+
|
|
139
|
+
### 1.27.0 (2025-03-30)
|
|
140
|
+
- edit string in visu property grid
|
|
141
|
+
- bindings to properties did not work (in designer)
|
|
142
|
+
- html setting did not work sometimes
|
|
143
|
+
|
|
136
144
|
### 1.26.0 (2025-03-04)
|
|
137
145
|
- fix error in screenviewer
|
|
138
146
|
- update npms
|
package/io-package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "webui",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.27.1",
|
|
5
5
|
"titleLang": {
|
|
6
6
|
"en": "webui",
|
|
7
7
|
"de": "webui",
|
|
@@ -29,6 +29,32 @@
|
|
|
29
29
|
"zh-cn": "使用万维网传送器的高锰用户接口"
|
|
30
30
|
},
|
|
31
31
|
"news": {
|
|
32
|
+
"1.27.1": {
|
|
33
|
+
"en": "fix xml import",
|
|
34
|
+
"de": "xml importieren",
|
|
35
|
+
"ru": "xml импортировать",
|
|
36
|
+
"pt": "corrigir a importação xml",
|
|
37
|
+
"nl": "xml-import herstellen",
|
|
38
|
+
"fr": "correction de l'importation de xml",
|
|
39
|
+
"it": "correzione xml importazione",
|
|
40
|
+
"es": "fijar importación xml",
|
|
41
|
+
"pl": "fix import xml",
|
|
42
|
+
"uk": "виправлено імпорт xml",
|
|
43
|
+
"zh-cn": "修正 xml 导入"
|
|
44
|
+
},
|
|
45
|
+
"1.27.0": {
|
|
46
|
+
"en": "edit string in visu property grid\nbindings to properties did not work (in designer)\nhtml setting did not work sometimes",
|
|
47
|
+
"de": "string in visu-eigenschaftsgitter bearbeiten\nbindungen an eigenschaften funktionierten nicht (im designer)\nhtml einstellung funktioniert nicht manchmal",
|
|
48
|
+
"ru": "редактировать строки в сетке свойств visu\nпривязка к свойствам не сработала (в конструкторе)\nhtml-настройка иногда не работает",
|
|
49
|
+
"pt": "edit string in visu property grid\nligações a propriedades não funcionou (em designer)\nconfiguração html não funcionou às vezes",
|
|
50
|
+
"nl": "tekenreeks bewerken in visu eigenschap raster\nbindingen aan eigenschappen werkten niet (in ontwerper)\nhtml-instelling werkte soms niet",
|
|
51
|
+
"fr": "modifier la chaîne dans la grille de propriétés visu\nles fixations aux propriétés ne fonctionnaient pas (en designer)\nle réglage html ne fonctionnait pas parfois",
|
|
52
|
+
"it": "modifica stringa nella griglia di proprietà visu\nleganti a proprietà non ha funzionato (in progettista)\nhtml impostazione non ha funzionato a volte",
|
|
53
|
+
"es": "cadena de edición en la red de propiedades visu\nvinculantes para propiedades no funcionaron (en diseñador)\nhtml setting did not work sometimes",
|
|
54
|
+
"pl": "edytuj ciąg w siatce właściwości visu\nwiązania do nieruchomości nie działa (w projektancie)\nustawienia html nie działały czasami",
|
|
55
|
+
"uk": "редагувати рядок в мережі visu\nобов’язки до властивостей не працювали (у дизайнеру)\nналаштування html не працює іноді",
|
|
56
|
+
"zh-cn": "在粘着属性网格中编辑字符串\n约束属性无效( 设计者)\nhtml 设置有时行不通"
|
|
57
|
+
},
|
|
32
58
|
"1.26.0": {
|
|
33
59
|
"en": "fix error in screenviewer\nupdate npms\nrename global styles\nallow styling of dialog",
|
|
34
60
|
"de": "fehler in screenviewer beheben\naktualisierung von npms\numbenennen global styles\ndie gestaltung des dialogs ermöglichen",
|
|
@@ -93,32 +119,6 @@
|
|
|
93
119
|
"pl": "przełącz ponownie na stary moduł shims (błąd w nowym)",
|
|
94
120
|
"uk": "повторно переключіть до старих модулів (error in new)",
|
|
95
121
|
"zh-cn": "再次切换到旧模块shims( 错误在新模块中)"
|
|
96
|
-
},
|
|
97
|
-
"1.24.3": {
|
|
98
|
-
"en": "first load of css bindings\nfix get box quads with slots\nfix es module shims",
|
|
99
|
-
"de": "erste belastung von css bindungen\nfix get box quads mit schlitzen\nfix es modul shims",
|
|
100
|
-
"ru": "первая нагрузка css связывания\nисправление получить коробка квады с слотами\nфиксация эс модуль shims",
|
|
101
|
-
"pt": "primeira carga de ligações css\ncorrigir get box quads com slots\ncorrigir es módulo shims",
|
|
102
|
-
"nl": "eerste belasting van css bindingen\nfix box quads met slots\nfix es module shims",
|
|
103
|
-
"fr": "première charge de fixations css\nfixer obtenir des quads de boîte avec des fentes\nfixer les shims du module es",
|
|
104
|
-
"it": "primo carico di attacchi css\nfix ottenere scatola quads con slot\nfix es modulo shims",
|
|
105
|
-
"es": "primera carga de fijación de css\nfijar conseguir cuádruples de caja con ranuras\nfijar es módulo shims",
|
|
106
|
-
"pl": "pierwsze obciążenie wiązania css\nfix get box quads with slots\nfix es module shims",
|
|
107
|
-
"uk": "перше навантаження css зв'язування\nзакріпити ящик квадроцикли з слотами\nзакріпити es модуль шім",
|
|
108
|
-
"zh-cn": "首先装入 css 绑定\n固定带插槽的框形\n修补 e 模块 shims"
|
|
109
|
-
},
|
|
110
|
-
"1.24.2": {
|
|
111
|
-
"en": "revert back es module shims, leads to errors",
|
|
112
|
-
"de": "zurückkehren es modul shims, führt zu fehlern",
|
|
113
|
-
"ru": "возвращать назад эс-модульные шимы, приводит к ошибкам",
|
|
114
|
-
"pt": "reverter para trás es módulo shims, leva a erros",
|
|
115
|
-
"nl": "terug te keren es module shims, leidt tot fouten",
|
|
116
|
-
"fr": "retour du module es shims, conduit à des erreurs",
|
|
117
|
-
"it": "revert back es modulo shims, conduce a errori",
|
|
118
|
-
"es": "revert back es module shims, leads to errors",
|
|
119
|
-
"pl": "revert es module shims, prowadzi do błędów",
|
|
120
|
-
"uk": "перевернути назад es модуль шімів, призводить до помилок",
|
|
121
|
-
"zh-cn": "返回 es 模块 shims, 导致错误"
|
|
122
122
|
}
|
|
123
123
|
},
|
|
124
124
|
"icon": "logo.png",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iobroker.webui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.27.1",
|
|
4
4
|
"description": "ioBroker webui",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/backend/main.js",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@iobroker/adapter-core": "^3.2.3",
|
|
47
|
-
"@types/node": "^22.13.
|
|
47
|
+
"@types/node": "^22.13.14"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@adobe/css-tools": "4.4.2",
|
|
@@ -52,32 +52,32 @@
|
|
|
52
52
|
"@alcalzone/release-script-plugin-iobroker": "^3.7.2",
|
|
53
53
|
"@alcalzone/release-script-plugin-license": "^3.7.0",
|
|
54
54
|
"@blockly/zoom-to-fit": "^6.0.12",
|
|
55
|
-
"@iobroker/socket-client": "^4.0
|
|
56
|
-
"@iobroker/testing": "^5.0.
|
|
57
|
-
"@iobroker/webcomponent-selectid-dialog": "^1.0.
|
|
55
|
+
"@iobroker/socket-client": "^4.1.0",
|
|
56
|
+
"@iobroker/testing": "^5.0.4",
|
|
57
|
+
"@iobroker/webcomponent-selectid-dialog": "^1.0.7",
|
|
58
58
|
"@node-projects/base-custom-webcomponent": "0.29.0",
|
|
59
59
|
"@node-projects/lean-he-esm": "^3.3.0",
|
|
60
60
|
"@node-projects/node-html-parser-esm": "^6.2.0",
|
|
61
61
|
"@node-projects/propertygrid.webcomponent": "^1.3.0",
|
|
62
62
|
"@node-projects/splitview.webcomponent": "^1.0.1",
|
|
63
|
-
"@node-projects/web-component-designer": "^0.1.
|
|
63
|
+
"@node-projects/web-component-designer": "^0.1.247",
|
|
64
64
|
"@node-projects/web-component-designer-codeview-monaco": "^0.1.33",
|
|
65
65
|
"@node-projects/web-component-designer-htmlparserservice-nodehtmlparser": "^0.1.11",
|
|
66
66
|
"@node-projects/web-component-designer-stylesheetservice-css-tools": "^0.1.10",
|
|
67
|
-
"@node-projects/web-component-designer-visualization-addons": "^0.1.
|
|
68
|
-
"@node-projects/web-component-designer-widgets-wunderbaum": "^0.1.
|
|
67
|
+
"@node-projects/web-component-designer-visualization-addons": "^0.1.116",
|
|
68
|
+
"@node-projects/web-component-designer-widgets-wunderbaum": "^0.1.33",
|
|
69
69
|
"@types/json-schema": "^7.0.15",
|
|
70
70
|
"@web/dev-server": "^0.4.6",
|
|
71
|
-
"blockly": "^11.2.
|
|
71
|
+
"blockly": "^11.2.2",
|
|
72
72
|
"chai": "^5.2.0",
|
|
73
73
|
"chai-as-promised": "^8.0.1",
|
|
74
74
|
"construct-style-sheets-polyfill": "^3.1.0",
|
|
75
75
|
"cross-env": "^7.0.3",
|
|
76
76
|
"dayjs": "^1.11.13",
|
|
77
77
|
"del": "^8.0.0",
|
|
78
|
-
"dock-spawn-ts": "^3.
|
|
78
|
+
"dock-spawn-ts": "^3.3.0",
|
|
79
79
|
"es-module-shims": "2.0.10",
|
|
80
|
-
"eslint": "^9.
|
|
80
|
+
"eslint": "^9.23.0",
|
|
81
81
|
"esprima-next": "^6.0.3",
|
|
82
82
|
"glob-stream": "^8.0.2",
|
|
83
83
|
"gulp": "^5.0.0",
|
|
@@ -94,6 +94,6 @@
|
|
|
94
94
|
"tslib": "^2.8.1",
|
|
95
95
|
"typescript": "^5.8.2",
|
|
96
96
|
"typescript-json-schema": "^0.65.1",
|
|
97
|
-
"wunderbaum": "0.
|
|
97
|
+
"wunderbaum": "0.13.0"
|
|
98
98
|
}
|
|
99
99
|
}
|
|
@@ -51,6 +51,7 @@ declare var RUNTIME: {
|
|
|
51
51
|
height?: string;
|
|
52
52
|
left?: string;
|
|
53
53
|
top?: string;
|
|
54
|
+
cssClass?: string;
|
|
54
55
|
}): Promise<void>;
|
|
55
56
|
runSimpleScriptCommand<T extends import('../scripting/IobrokerWebuiScriptCommands.js').WebuiScriptCommands>(scriptCommand: T): Promise<void>;
|
|
56
57
|
getParentScreen(screen: BaseScreenViewerAndControl, parentlevel?: number): BaseScreenViewerAndControl;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseCustomWebComponentConstructorAppend, css, html } from "@node-projects/base-custom-webcomponent";
|
|
2
|
-
import { DocumentContainer, } from "@node-projects/web-component-designer";
|
|
2
|
+
import { DocumentContainer, PropertiesHelper, } from "@node-projects/web-component-designer";
|
|
3
3
|
import { iobrokerHandler } from "../common/IobrokerHandler.js";
|
|
4
4
|
export const defaultNewStyle = `:host {
|
|
5
5
|
}
|
|
@@ -117,19 +117,43 @@ export class IobrokerWebuiScreenEditor extends BaseCustomWebComponentConstructor
|
|
|
117
117
|
if (this.#bindingsEnabled != value) {
|
|
118
118
|
this.#bindingsEnabled == value;
|
|
119
119
|
if (value) {
|
|
120
|
-
this.
|
|
120
|
+
this.applyBindings();
|
|
121
121
|
}
|
|
122
122
|
else {
|
|
123
|
-
this.
|
|
124
|
-
this._styleBindings?.forEach(x => x());
|
|
123
|
+
this.removeBindings();
|
|
125
124
|
}
|
|
126
125
|
}
|
|
127
126
|
}
|
|
128
127
|
relativeBindingsPrefix = '';
|
|
129
128
|
applyBindings() {
|
|
130
129
|
this.removeBindings();
|
|
131
|
-
if (this.bindingsEnabled)
|
|
132
|
-
|
|
130
|
+
if (this.bindingsEnabled) {
|
|
131
|
+
try {
|
|
132
|
+
for (let p in this.properties) {
|
|
133
|
+
Object.defineProperty(this.documentContainer.designerView.designerCanvas.rootDesignItem.element, p, {
|
|
134
|
+
get() {
|
|
135
|
+
return this['_' + p];
|
|
136
|
+
},
|
|
137
|
+
set(newValue) {
|
|
138
|
+
if (this['_' + p] !== newValue) {
|
|
139
|
+
this['_' + p] = newValue;
|
|
140
|
+
this._bindingsRefresh(p);
|
|
141
|
+
this.documentContainer.designerView.designerCanvas.rootDesignItem.element.dispatchEvent(new CustomEvent(PropertiesHelper.camelToDashCase(p) + '-changed', { detail: { newValue } }));
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
enumerable: true,
|
|
145
|
+
configurable: true,
|
|
146
|
+
});
|
|
147
|
+
if (this.properties[p].default) {
|
|
148
|
+
this.documentContainer.designerView.designerCanvas.rootDesignItem.element['_' + p] = this.properties[p].default;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
catch (err) {
|
|
153
|
+
console.warn("applyBindings()", err);
|
|
154
|
+
}
|
|
155
|
+
this._webuiBindings = window.appShell.bindingsHelper.applyAllBindings(this.documentContainer.designerView.designerCanvas.rootDesignItem.element.shadowRoot, this.relativeBindingsPrefix, this.documentContainer.designerView.designerCanvas.rootDesignItem.element);
|
|
156
|
+
}
|
|
133
157
|
}
|
|
134
158
|
removeBindings() {
|
|
135
159
|
this._webuiBindings?.forEach(x => x());
|
|
@@ -44,7 +44,7 @@ export function parseXml(xml) {
|
|
|
44
44
|
else {
|
|
45
45
|
let tx = childNode.textContent;
|
|
46
46
|
if (tx[0] === '\n' && tx.endsWith('\n'))
|
|
47
|
-
tx = tx.substring(1, tx.length -
|
|
47
|
+
tx = tx.substring(1, tx.length - 1);
|
|
48
48
|
else if (tx[0] === '\n')
|
|
49
49
|
tx = tx.substring(1);
|
|
50
50
|
else if (tx.endsWith('\n'))
|
|
@@ -194,21 +194,19 @@ let ScreenViewer = class ScreenViewer extends BaseCustomWebComponentConstructorA
|
|
|
194
194
|
this.shadowRoot.adoptedStyleSheets = [ScreenViewer_1.styleIfFromScreen, ...this._rootShadow.adoptedStyleSheets];
|
|
195
195
|
}
|
|
196
196
|
let myDocument;
|
|
197
|
-
//@ts-ignore
|
|
198
197
|
if (Document.parseHTMLUnsafe && !isFirefox) {
|
|
199
|
-
|
|
200
|
-
myDocument = Document.parseHTMLUnsafe(html);
|
|
198
|
+
this._rootShadow.setHTMLUnsafe(html);
|
|
201
199
|
}
|
|
202
200
|
else {
|
|
203
201
|
//@ts-ignore
|
|
204
202
|
myDocument = new DOMParser().parseFromString(html, 'text/html', { includeShadowRoots: true });
|
|
203
|
+
const fragment = document.createDocumentFragment();
|
|
204
|
+
for (const n of myDocument.head.childNodes)
|
|
205
|
+
fragment.appendChild(n);
|
|
206
|
+
for (const n of myDocument.body.childNodes)
|
|
207
|
+
fragment.appendChild(n);
|
|
208
|
+
this._rootShadow.appendChild(fragment);
|
|
205
209
|
}
|
|
206
|
-
const fragment = document.createDocumentFragment();
|
|
207
|
-
for (const n of myDocument.head.childNodes)
|
|
208
|
-
fragment.appendChild(n);
|
|
209
|
-
for (const n of myDocument.body.childNodes)
|
|
210
|
-
fragment.appendChild(n);
|
|
211
|
-
this._rootShadow.appendChild(fragment);
|
|
212
210
|
const res = window.appShell.bindingsHelper.applyAllBindings(this._rootShadow, this.relativeSignalsPath, this);
|
|
213
211
|
if (this._iobBindings)
|
|
214
212
|
this._iobBindings.push(...res);
|
package/www/index.html
CHANGED
|
@@ -218,7 +218,7 @@
|
|
|
218
218
|
</button>
|
|
219
219
|
<button data-command="save" title="save" disabled><img src="./node_modules/@node-projects/web-component-designer/assets/icons/save.svg"></button>
|
|
220
220
|
<div style="margin-left: 30px;">
|
|
221
|
-
webui - 1.
|
|
221
|
+
webui - 1.27.1 - 88f34da
|
|
222
222
|
</div>
|
|
223
223
|
<button style="margin-left: 30px;" data-command="paste" title="paste" disabled><img
|
|
224
224
|
src="./node_modules/@node-projects/web-component-designer/assets/icons/paste.svg"></button>
|