iobroker.mywebui 1.42.29 → 1.42.30
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/io-package.json
CHANGED
package/package.json
CHANGED
|
@@ -20,8 +20,8 @@ export class IobrokerWebui3DScreenEditor extends BaseCustomWebComponentConstruct
|
|
|
20
20
|
|
|
21
21
|
<!-- three.js editor mount point
|
|
22
22
|
position:relative → contains position:absolute children (viewport, sidebar, etc.)
|
|
23
|
-
|
|
24
|
-
<div id="editorContainer" style="flex:1;position:relative;overflow:hidden;min-height:0;
|
|
23
|
+
overflow:visible → allow position:fixed dropdowns to escape clip boundary -->
|
|
24
|
+
<div id="editorContainer" style="flex:1;position:relative;overflow:hidden;min-height:0;"></div>
|
|
25
25
|
|
|
26
26
|
<!-- Bottom Monaco panel for iobroker scene script -->
|
|
27
27
|
<div id="scriptPanel" style="height:0;flex-shrink:0;border-top:2px solid #3c3c3c;display:flex;flex-direction:column;overflow:hidden;background:#1e1e1e;transition:height 0.15s;">
|
|
@@ -129,6 +129,15 @@ export class IobrokerWebui3DScreenEditor extends BaseCustomWebComponentConstruct
|
|
|
129
129
|
await this._loadScript(EDITOR_BASE + 'js/libs/signals.min.js', true);
|
|
130
130
|
await this._loadScript(EDITOR_BASE + 'js/libs/jsonlint.js');
|
|
131
131
|
|
|
132
|
+
// Also load editor CSS into document.head so dialogs appended to document.body are styled
|
|
133
|
+
if (!document.getElementById('three-editor-css-global')) {
|
|
134
|
+
const gLink = document.createElement('link');
|
|
135
|
+
gLink.id = 'three-editor-css-global';
|
|
136
|
+
gLink.rel = 'stylesheet';
|
|
137
|
+
gLink.href = EDITOR_BASE + 'css/main.css';
|
|
138
|
+
document.head.appendChild(gLink);
|
|
139
|
+
}
|
|
140
|
+
|
|
132
141
|
// Dynamically import all editor modules (they use the importmap for 'three')
|
|
133
142
|
const [
|
|
134
143
|
THREE,
|
|
@@ -144,6 +153,7 @@ export class IobrokerWebui3DScreenEditor extends BaseCustomWebComponentConstruct
|
|
|
144
153
|
{ Animation },
|
|
145
154
|
{ AnimationResizer },
|
|
146
155
|
{ SetScriptValueCommand },
|
|
156
|
+
{ GLTFImportDialog },
|
|
147
157
|
] = await Promise.all([
|
|
148
158
|
import('three'),
|
|
149
159
|
import('three/addons/geometries/TextGeometry.js'),
|
|
@@ -158,8 +168,12 @@ export class IobrokerWebui3DScreenEditor extends BaseCustomWebComponentConstruct
|
|
|
158
168
|
import(/* @vite-ignore */ EDITOR_BASE + 'js/Animation.js'),
|
|
159
169
|
import(/* @vite-ignore */ EDITOR_BASE + 'js/AnimationResizer.js'),
|
|
160
170
|
import(/* @vite-ignore */ EDITOR_BASE + 'js/commands/SetScriptValueCommand.js'),
|
|
171
|
+
import(/* @vite-ignore */ EDITOR_BASE + 'js/GLTFImportDialog.js'),
|
|
161
172
|
]);
|
|
162
173
|
|
|
174
|
+
// Auto-accept the GLB/GLTF import dialog (shadow DOM hides it from CSS, so skip UI)
|
|
175
|
+
GLTFImportDialog.prototype.show = () => Promise.resolve({ asScene: false });
|
|
176
|
+
|
|
163
177
|
window.THREE = THREE;
|
|
164
178
|
try { THREE.ObjectLoader.registerGeometry('TextGeometry', TextGeometry); } catch (_) {}
|
|
165
179
|
|